在线问答
直播中

赵俊波

12年用户 494经验值
擅长:MEMS/传感技术 嵌入式技术 接口/总线/驱动
私信 关注

【OK210试用体验】3.裸机程序的烧写

昨晚的开发因为没有SD卡读卡器而停滞了哈,晚上找到一个高级一点的,测试烧写可行
如图
20150913_155116.jpg

今天早上有网友和我讨论关于裸机程序的串口打印问题,所以就试着去做一下
首先是准备编译烧写的裸机程序的bin文件,当然也可以跳过这一步,直接用官方提供编译好的bin文件哈
1.虚拟机的安装:已经有很多教程在此就不说了,我以前也有安装好了的VMware10.0虚拟的Ubuntu12.4系统,还有就是最好安装上VMtool工具,共享文件夹,方便在里外系统直接拖文件和鼠标操作。
2.交叉编译工具链的安装,飞凌嵌入式有提供arm-linux-gcc-4.4.1的交叉编译器(实用工具下arm-2009q3.tar.bz2),也可以找找ARM其他的工具,其中,涉及到添加系统环境变量的问题,网上有很多方法可以解决的,安装好后可以执行arm-linux-gcc -v查看版本信息(我的不是官网的)
0913.png

3.裸机程序的源文件有提供,需要按照不同板卡进行少许修改,如下将define ok210 1改为define ok210 0,这是因为不同版本的板卡物理管脚定义有不同所致!(官方提供的资料确实很多,但是也因为版本的问题给人有混淆的感觉)
091314.png

程序目录下有makefile文件,执行make后,会自动寻找arm-linux-gcc的交叉编译器进行编译
09131.png

编译完成后,生成bin文件,即是我们需要的裸机程序编译后的文件
09132.png

因为之前一直未对板子下载过任何程序,所以这一次按照教程提示的需要的信息
091315.png

好吧,后面才知道,需要自己往里面先用SD卡向板卡烧写uboot才行
我们按照给的烧写linux的的uboot过程进行的
不过我们在使用winpm程序对SD卡进行分区的时候就遇到了问题,不能创建分区,鼓捣好久还把U盘的分区搞的不见了,好在用win7自带的管理工具又找了回来!
09134.png
后来看到帖子
用winpm不能对SD进行创建分区 - 在线问答 - 中国电子技术william hill官网 - 最好最受欢迎电子william hill官网 !
https://bbs.elecfans.com/jishu_497650_1_1.html

发现要先利用SD_Writer对SD卡进行格式化才行!
09135.png

后来发现,这样就能直接跳过winpm上面的所有步骤,直接进行烧写了!!!
先用SD_Writer把mmc-210.bin烧进SD卡,后来在将u-boot-210.bin等文件放在sdfuse文件夹里面拷贝进SD卡中,这些步骤详见软件手册中的步骤
接下来,改变板卡的启动模式为SD卡启动
shaox.png

09137烧uboot.png

09139关电变启动模式上电.png

烧写成功过后,下电,把板卡的启动方式又换成flash模式
再次上电,进入下面的界面,和之前有不同,就可以按键进入uboot了,
09136.png
091310.png

uboot下运行help,可以看到帮助信息,
loadb  - load binary file over serial line (kermit mode)
loads  - load S-Record file over serial line
loady  - load binary file over serial line (ymodem mode)
超级终端上使用的是loadb,但是这个是kermit mode传输协议,secureCRT也支持kermit模式,但是我已运行就无响应了,所以选择loady,即ymodem模式进行文件传输!
看别人的帖子,发现可以使用超级终端或者Securecrt进行文件的传递,但是超级终端在win7下传到文件一下就死了,

09133.png

好在还可以用Securecrt进行文件的传递
窗口执行:loady 20008000,板卡等待文件传输
091311.png

091313.png

选择ymodem的模式进行传输
091312.png

完成后,执行go 20008000就可以执行我们烧写进去的程序了,现象如上!


PS:
上面算是走完了整个烧写过程了吧,为后面的开发解决了一大问题哦,但是问题来了:板卡上电4个led并没有循环闪烁,而是一直处于常亮状态!我想应该是上面裸机程序中出的问题,可能是物理管脚定义出了问题,求教各位了!


  • 091313.png

更多回帖

发帖
×
20
完善资料,
赚取积分