程序运行S5PV210的NandFlash应用(四)

发布者:SparklingRiver最新更新时间:2024-12-31 来源: cnblogs关键字:程序运行  S5PV210  NandFlash 手机看文章 扫描二维码
随时随地手机看文章

在本篇文章中,我们主要介绍程序运行的内容,自我感觉有个不错的建议和大家分享下

    

预备分析

 

        经过了《

    S5PV210的NandFlash应用(三)

    》对从NandFlash中拷贝数据是确定可行了。这次主要是把“特别的二进制文件AB”换成一个LED闪烁的程序。由于前边没有了那16bit的校验和,这时程序的链接地址,拷贝目的地址以及跳转地址可以同一起来了。这里用CONFIG_SYS_TEXT_BASE来代替,值为0xD0024000。

   

资源工具


        同《  S5PV210的LED应用(一)》

        NandFlash: K9GAG08U0F (2G)

        对应代码:7.nand_to_iram_4

着手写程序

        (1) Makefile。

   

CONFIG_SYS_TEXT_BASE :=0xD0024000


all:led.bin 210.bin


led.bin: start.o main.o nand_cp.o uart.o

    

        arm-linux-ld -Ttext $(CONFIG_SYS_TEXT_BASE) -o led.elf $^

    

        arm-linux-objcopy -O binary led.elf led.bin

    

        arm-linux-objdump -D led.elf > led_elf.dis

    

        gcc mkv210_image.c -o mkv210

    每日一道理
闷热的天,蝉儿耐不住寂寞地不停在鸣叫,我孤单一人,寂静的身旁没有一个知音,想疯狂地听摇滚乐,听歇斯底里的歌声,那只为逃避无人的世界里那浓烈的孤单气息。一个人是清冷,两个人便是精彩,于是,莫名的冲动让我格外想念旧日的好友,怀念过去的日子,尽管不够现实的遐想追回不了曾经一切,但却希望思绪可以飞扬于闭上双目后的世界中,印有微笑,印有舞动的身姿,翩翩起舞……

    

        ./mkv210 led.bin BL1.bin


210.bin:        

    

        cat BL1.bin led.bin> 210.bin


%.o : %.S

    

        arm-linux-gcc -o $@ $< -c -fno-builtin

 

%.o : %.c

    

        arm-linux-gcc -DCONFIG_SYS_TEXT_BASE=$(CONFIG_SYS_TEXT_BASE) -o $@ $< -c -fno-builtin

      

下载运行

        同《  S5PV210的LED应用(一)》

        下载文件:210.bin

运行调试

       

        程序可以运行起来了,如图所示:

程序和运行


关键字:程序运行  S5PV210  NandFlash 引用地址:程序运行S5PV210的NandFlash应用(四)

上一篇:(七)u-boot2013.01.01 for s5pv210:《u-boot启动流程》
下一篇:tiny210(s5pv210)移植u-boot(基于 2014.4 版本号)——NAND 8位硬件ECC

推荐阅读最新更新时间:2026-03-25 11:05

第七章之S5PV210移植到Nandflash
1,之前的操作都是基于SD卡进行运行的,如今在Nandfalsh中运行u-boot.因为s5p_goni.h配置文件没有配置Nand相关文件,所以先配置Nand文件. 在include/configs/s5p_goni.h中添加一个:#define CONFIG_CMD_NAND 2,根据board_init_r函数中nand_init()如下图: 3,进行nand_init(); 4,所以配置文件还需要添加#defnie CONFIG_SYS_MAX_NAND_DEVICE 1,及其 nand基地址#define CONFIG_SYS_NAND_BASE  0xB0E00000 5,查看common/Makefi
[单片机]
第七章之<font color='red'>S5PV210</font>移植到<font color='red'>Nandflash</font>
S5PV210NandFlash应用(四)
准备分析 经过了《S5PV210的NandFlash应用(三)》对从NandFlash中拷贝数据是确定可行了。这次主要是把“特殊的二进制文件AB”换成一个LED闪烁的程序。由于前边没有了那16bit的校验和,这时程序的链接地址,拷贝目的地址以及跳转地址可以统一起来了。这里用CONFIG_SYS_TEXT_BASE来代替,值为0xD0024000。 资源工具 同《 S5PV210的LED应用(一)》 NandFlash: K9GAG08U0F (2G) 对应代码:7.nand_to_iram_4 着手写程序 (1) Makefile。 CONFIG_SYS_TEXT_BASE :=0xD0024000
[单片机]
<font color='red'>S5PV210</font>的<font color='red'>NandFlash</font>应用(四)
S5PV210NandFlash应用(一)
准备分析 标题挂了一个(一),代表这个是涉及到NandFlash并不深入,只实现读操作。还是16k的代码,这次从NandFlash中读取,读到iRAM中地址为0xD0024000的地方。并调用main运行。如下图所示:(CPU会自动把B区代码拷贝到A区,我用A区代码从将B区代码拷贝到C区,并调用main运行) 资源工具 同《 S5PV210的LED应用(一)》 NandFlash: K9GAG08U0F (2G) 着手写程序 start.S中的代码拷贝很重要,Makefile中的链接地址很重要。 /* * $Id: nand_cp.c,v 1.1 2008/11/20 01:08:36 boyko Exp $
[单片机]
<font color='red'>S5PV210</font>的<font color='red'>NandFlash</font>应用(一)
esp32 devkit v1下载marlin2.1,程序无法运行的解决方案
简单说一下情况,我准备基于tinybee的板子,对marlin进行修改,制作自己的6轴运动板。 第一步 明确思路 我的思路是先基于tinybee,对官方的marlin代码进行配置修改,实现代码可以正常在tinybee上运行。这一步比较顺利,tinybee板测试功能基本能用。 第二步 遇到问题 利用esp32 devkit v1开发板,做一个扣板形式的6轴运动版。将esp32 devkit v1插到底板的排座上,简化设计和生产难度。理论上来说,将基于tinybee的marlin代码烧写到自制运动版上,应该可以正常引导运行。但实际情况是,程序烧写成功,但是运行后就引导失败,串口反复打印下面的log: ets Jun 8 2
[单片机]
关于STM32 ST-LINK Utility查看内核运行状态,助你判断程序是否跑飞
本文围绕STM32 ST-LINK Utility讲几点主要功能及相关拓展知识: 1.STM32编程下载; 2.利用该编程工具查看内核运行状态; 3.Option Bytes选项字配置; 1STM32编程下载 STM32 ST-LINK Utility一个最重要的功能就是对STM32进行编程。支持常见的hex、bin文件,还有早期摩托罗拉定义的srec和s19格式的文件(说实话,我都不了解这两种格式的文件)。 这里主要想提示一下初学者:hex带有地址,而bin文件不带地址,下载时需要填写起始地址。 下面看两张在STM32 ST-LINK Utility中下载选择文件的图大家就明白了。 1.选择hex下载,地址不可修改(灰色)
[单片机]
关于STM32 ST-LINK Utility查看内核<font color='red'>运行</font>状态,助你判断<font color='red'>程序</font>是否跑飞
PLC编程优化设计使程序运行提速
  通过本方法优化可以极大的减少程序语句数,使plc程序更简洁、可读性更好,由于不需要做耗时的类型转换,程序运行效率也得到提高。且数学运算量越大,效率提高越明显。   缺点是要多占用两字节的内存,以后程序中不能使用VW0。但S7-200的RAM空间很大,一般是用不完的,以226为例,有多达10K的RAM,偶从来没有超过1K。这些RAM都是花钱买来的,不用白不用,不用也是浪费了。   同理,如果有字节型变量经常需要与字类型变量相互转换,让字节变量占用一个字的内存宽度浪费一个字节,避免类型转换。具体步骤如下:   1:根据工程实际需求,进行功能块规划,编写子程序   在PLC中子程序是为一些特定的控制目的编制的相对独立的程
[嵌入式]
解决MDK通过JLink烧写程序之后必须断电才可以运行的问题
问题描述: 烧写完程序之后必须要断电重启程序才能跑起来,很麻烦,很坑爹。 解决方法: 将下图此处勾选即可。
[单片机]
三分钟了解ARM运行C程序的内部机制
一.代码 之前学习了ARM裸机的LED点亮C语言实现,了解了ARM程序中,main函数需要有一段汇编指令来自引导,汇编指令的作用是:设置栈地址,也就是指明程序的存储地址;引导main函数。 这里借这个程序分析一下ARM中,C程序执行的内部机制以及程序在栈中的存储位置。 下面是C程序的源代码、引导的汇编指令,以及交叉编译生产的反汇编文件: C: int main() { unsigned int *pGPFCON = (unsigned int *)0x56000050; unsigned int *pGPFDAT = (unsigned int *)0x56000054; /* 配置GPF4为输出引脚 *
[单片机]
三分钟了解ARM<font color='red'>运行</font>C<font color='red'>程序</font>的内部机制
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved