015裸机开发快速体验

1、裸机开发流程:

  (1)编写裸机程序;

  (2)调试逻辑程序;

  (3)生成二进制映象(编译,链接,格式转换);

  (4)烧写、运行二进制映象;

2、安装交叉编译器

  将ARM_Tools压缩包复制到Linux系统,然后解压;解压之后可以看到该目录下的文件;

  

  

  然后安装工具链,其实就是解压;

  解压:arm-linux-gcc-4.3.2.tgz -C /  (通过-C指定解压到根目录中);根据解压的过程,可以知道是解压到了/usr/local/arm/4.3.2目录下;

  

  在/usr/local/arm/4.3.2/bin目录下,可以看到以后需要使用的工具;

  

  

  但是安装还没完成,还需要配置环境变量,否则会提示命令找不到;(如果使用命令时,前面加上完成路径,可以找到命令);

  Linux系统找某个命令是从PATH环境变量所列出来的路径中去找的;

  使用命令:vim /root/.bashrc修改环境变量;

  在打开的文件中,添加:export PATH=$PATH:/usr/local/arm/4.3.2/bin

  

  然后使用命令:source /root/.bashrc,使刚才配置的环境变量生效;

  

  这样,命令就可以使用了!不会再提示找不到命令了!

 

 

3、编译裸机程序

  将代码复制到Linux系统中;

  

  使用命令:arm-linux-gcc -g -c led.S 进行编译,将裸机程序变成二进制映象文件,执行命令后,会有led.o产生;

  

  然后使用命令:arm-linux-ld -Tled.lds -o led.elf led.o 进行链接,会产生led.elf产生,但是它的格式不对,这个格式不能直接烧写到开发板中运行,必须转换成二进制的;

  

  然后使用命令:arm-linux-objcopy -O binary led.elf led.bin 会产生bin文件(二进制格式);

  

  

  当把一个程序变成一个可以烧写的映象时,需要运行这么多命令,如果经常先修改程序是不是每一次都得运行这么多命令?

  解决方法:写一个Makefile文件;

4、Makefile

  首先运行命令:make clean,运行之后,可以看到led下的文件又恢复成最初状态;

  

  然后运行make命令,可以看到之前用许多命令产生的文件,同样产生出来了,但是仅仅运行了一个make命令,没像之前运行那么多命令;

  

 

5、烧写程序到开发板

  开发板中的nand flash作用相当于硬盘,那么我们要运行的程序比如操作系统或自己编写的一些程序,我们希望最终都是把它们安装到nand flash中去,所以要明确,编译好的裸机程序最终是被烧写到nand flash中去运行;

  如何烧写到nand flash?2410的开发板会有nor flash;

  6410或210的开发板没有nor flash,但是可以有SD卡,要把裸机程序烧写到nand flash去,方法都是利用nor flash或者SD卡里的系统安装辅助程序来帮我们烧写;

  具体步骤:

  (1)将系统安装辅助程序烧写到SD卡中;

  (2)将SD卡插到开发板上;

  (3)设置开发板跳线从SD卡启动;

  (4)打开SecureCRT,查看串口号,设置串口连接;

  (5)将手指按在空格键上,打开开发板的电源,可以安装到SD卡中的mmc.bin程序运行的界面;

  

  (6)选择【1】,对nand flash进行格式化;

  

  (7)选择【3】,通过USB下载线,下载bin文件,烧写到开发板中;我们下载的是一个裸机程序,性质上和U_Boot一致,所以在接下来的菜单中,我们选择【1】;

  

  然后选择【1】;

  

  (8)打开虚拟机,在右下角,引入USB下载线(和之前的步骤相同);

  

  (9)然后安装USB下载线驱动;

  

  (10)然后运行命令:./dnw ../led/led.bin 50008000   将bin文件下载到内存中去;

  6410的开发板都是下载到50008000,内存中,然后辅助安装程序会自动从内存中渠道这个程序,然后烧写到nand flash中去;

  

  (11)最后设置开发板从nand flash启动(因为我们是把程序烧写到nand flash中去了),就会看到程序运行的结果;

  

  

5、用到的工具:

  交叉工具链、链接器脚本、Makefile;

 

  

  

    

  

  

 

转载于:https://www.cnblogs.com/mch0dm1n/p/5485748.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值