返回列表 发帖

[站长原创] 跟我学嵌入式底层开发系列 - OK6410的烧写开发环境的探讨

[站长原创] 跟我学嵌入式底层开发系列 - OK6410的烧写开发环境的探讨

跟我学嵌入式底层开发系列 - OK6410的烧写开发环境

嵌入式开发联盟

www.mcuos.com

Osboy 站长原创

QQ:82475491

Mcuos.com@gmail.com


当你拿到ok6410的开发板,想学习下linux的驱动内核,是不是很迷茫?上g的开发资料DVD光盘,其实有用的不多,只是给你个假象,因为大家都注重得到多少,而忽略了得到的东西的质量。真的以为看了几节课的培训视频就能真正的入门?真的以为那些网上随便搜集的资料能够帮助你快速进入开发者的角色?如果这样,那么还有什么初学者呢?花他一个月看完视频,看完资料然后大家不都成为行业高手啦?

一,介绍下我的开发环境
一台笔记本,一个usb硬盘,一个usb转串口线,一个ok6410开发板。

笔记本上安装个vmware虚拟机,把我的ubuntu server安装到我的usb硬盘中,这个硬盘我随时可以携带,可以随便接到任何电脑上,设置usb启动盘,都可以启动我的ubuntu。然后进行开发,这个很方便我出差时候携带。

二,下载到ok6410的方法
一个好的开发平台,不应该把烧写镜像文件做的太复杂,但是ok6410有点复杂,需要sd卡启动方式,烧写uboot,zImage,filesystem。然后在切换到nand启动。osboy认为太麻烦!


我的想法:
(1)SD卡启动烧写还是有用的,可以作为紧急修复系统使用,因为一旦你的uboot烧写错误的话,只能通过sd卡来烧写哦。
(2)NAND启动,是把所有镜像都烧写到nand中,开发过程中每次都烧写nand,费时费力。建议在学习Linux内核移植开发阶段不要直接烧写内核,文件系统到nand中。
(3)只烧写uboot到nand中,因为我们目前学习的是Linux内核和驱动,所以uboot只作为使用工具,了解即可。
(4)调试内核的时候直接使用DNW工具的usb烧写方法,直接下载内核zImage到c0008000内存空间,然后直接输入bootm c0008000既可以进行一次内核调试验证。必要的时候才去真正的写nand。

实际做法:
(1)第一次使用ok6410开发板,请参考“OK6410-A开发板LINUX3.0.1用户手册.pdf”文档的第二章,把系统烧写成为Linux系统。如果我们做内核移植,我们实际上不需要拷贝zImage,filesystem到sd卡中,只需要个uboot就可以了。
(2)这个时候切回nand启动方式,由于nand中只有个uboot,所以只会启动到uboot阶段,因为内核读不到,我们没有拷贝到sd卡,也就不会把zImage烧写进nand中,这时候我们需要的是进入uboot命令行界面就可以了。
(3)打开dnw串口(或者secure CRT串口工具,osboy习惯用这个工具)系统处于(2)的界面后,输入命令:
  1. dnw c0008000
复制代码

然后点击dnw的菜单“USB port-->transmit-->transmit”,选择你要烧写的内核,你就可以看到内核下载的内存时候的进度,烧写成功后其实你的内核已经在c0008000的地址处了,我们下一步要做的就是bootm c0008000来从内存中直接启动内核。方便快速的调试内核的方法。
nand和ddr的内核地址空间,以及拷贝图:

附件: 您需要登录才可以下载或查看附件。没有帐号?本站只开放邀请码注册,QQ:82475491,索要邀请码
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

虽然现在看着晕晕的看不懂,但是我相信自己可以做好

TOP

虽然现在看着晕晕的看不懂,但是我相信自己可以做好
linzhaodejia 发表于 2012-5-17 19:42



    我会帮你把握方向的。你行的兄弟。

TOP

后面这张图很有用,帮助理解

TOP

为什么我输入 dnw c0008000 或者 dnw
就会 出现

SMDK6410 # dnw
Insert a OTG cable into the connector!

然后卡住了??下载不了..是不要用这个网站的linux3.0.1的内核,我用的是FL3.0.1的

TOP

请问你的usb硬盘多大?只用于携带系统?
ubuntu是装得64位吗

TOP

请问你的usb硬盘多大?只用于携带系统?
ubuntu是装得64位吗
kennedy 发表于 2014-12-3 11:57



    选择USB硬盘有两个原因:

1.PC机多为笔记本,不好接pci,sata啥的接口,只有usb的接口。
2.usb硬盘便于携带,还可以在别人的笔记本上boot起来。

安装ubuntu需要看你的pc机的CPU是不是64位的,如果是64bit的话就安装64bit的版本,32bit的话就安装32bit的版本。

TOP

回复 1# osboy
是否需要SD卡烧写?JZ2440把串口转USB集成到板子上了

TOP

回复  osboy
是否需要SD卡烧写?JZ2440把串口转USB集成到板子上了
kennedy 发表于 2014-12-18 15:32



    烧录方式需要根据不同板子来定制,具体请详细查看供应商手册吧。

TOP

回复 9# osboy
先用厂商推荐的工具(openJTAG或JLINK)把u-boot烧进去,之后就用u-boot烧?

TOP

回复 1# osboy
JZ2440我第一次使用j-link烧写u-boot到nor flash之后使用nor上的u-boot下载和烧写内核和rootfs

TOP

2440使用nfs 30000000 10.0.0.104:/work/system/linux-2.6.22.6/arch/arm/boot/uImage

然后bootm 30000000

TOP

返回列表
网页右侧QQ悬浮滚动在线客服
网页右侧QQ悬浮滚动在线客服