查看: 2094|回复: 6

[心得] RIoTboard连载三linux的uboot和kernel源代码编译烧写

[复制链接]

15

主题

4

好友

903

积分

举人

Rank: 4

  • TA的每日心情
    开心
    2016-9-29 15:49
  • 签到天数: 113 天

    [LV.6]常住居民II

    爱板会员勋章 活跃会员勋章

    发表于 2014-5-1 16:09:20 |显示全部楼层
    入手RIoTboard几天了,高大上就是好,感觉确实相关资料不是很多,还是要自己摸索,可能对于高手来说轻易搞定的事儿,对于我这半吊子还是要花费些时间。
    之前按照试用手册先git代码,哪知道git这么慢,一天一夜才能搞定。弄好编译环境和代码后开始了编译。
    按照手册运行了一遍,编译烧写基本问题不大,觉得有些地方还是麻烦,在这里说下自己的简单修改,可能各自环境不同,有些问题大家不一定遇到,或者精通的高手也就自然不会误入歧途,希望大家多多讨论,互相学习进步:
    1.下载交叉编译器和源码之后进行编译,看到手册的编译有点麻烦,系统重启或者重启终端,又要输入那么多东西,于是先将编译器的路径加入系统变量,然后发现GCC找不到了,网上查找资料也是有人说在交叉编译器的前端添加/usr/bin就行了,于是又修改了环境变量果然好用,编译也就没问题了。
    按照如下修改系统变量写入profile:export PATH=/usr/bin:~//fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-PATH
    export PATH

    2.搭建适合自己使用的开发环境:如果经常修改代码,编译代码的话,进入虚拟机还是不方便,最好有一台专用的编译电脑,但是工薪阶级还是要省,之能想别的办法。首先有Source Insight,putty(SSH登陆ubuntu用,不用总是切换界面了),ubuntu下的samba(实现源码文件共享),vim(ubuntu下的编辑软件,挺好用)
    基本就是在ubuntu下安装samba服务,将uboot和kernel的代码共享到windows,然后可以做个映射网络驱动器,然后用Source Insight搭建源代码工程,这样查看修改源代码都在windows下面,然后使用putty登陆ubuntu,这样ubuntu命令行就到了windows下了,基本上大部分工作都在windows下完成,虚拟机只要背后运行着就行了。具体搭建过程就不说了,网上多得是,不过专业的驱动开发工程师都是使用linux的工具进行源码查看和修改编译的,希望自己么时候也能进阶到那种程度。还需多多努力啊

    3.编译后的文件烧写
    下载linux镜像烧写工具,使用mfgtoo烧写系统镜像,发现烧写ubuntu慢的不行,mfgtool不像低版本的了,使用imx53的时候可以单独烧写uboot和kernel,mfgtoo V2没有找到这个选项,如果有方便的方法大家告知下,毕竟做驱动的不需要经常修改文件系统,所以不必每次都烧写文件系统,费时费力,于是就找到mfgtool文件夹下的Document,通过阅读文档后发现烧写过程都是通过OS Firmware文件夹下的ucl2.xml控制的,于是打开这个文件,阅读下可以知道基本烧写流程(依然是send file,然后使用dd命令烧写文件),如果不需要可以将文件系统的烧写注释掉,这样就不用每次都等那么长时间烧写文件系统了,需要烧写啥就添加啥,不需要的就注释掉,虽然麻烦点,但是总比每次烧写文件系统省不少时间,不知道mfgtool V2是否有更好的方式,否则实在是不方便了。如下截图是ubuntu-Riot EMMC启动的烧写方式(去掉了文件系统的烧写,文件系统先烧写一次就行了,需要的时候再烧写):
    xml.jpg

    修改后烧写uboot和kernel果然迅速,下面是烧写运行结果
    Starting kernel ...

    Linux version 3.0.35 (xinxinyuan@terry-ubuntu) (gcc version 4.6.2 20110630 (prerelease) (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20) ) #1 SMP PREEMPT Thu May 1 11:45:42 CST 2014

    编译用户名字和编译时间2014年已经都更新了。

    开发环境和编译下载都弄差不多了,等LCD弄好就方便学习驱动了。


    回复

    使用道具 举报

    33

    主题

    10

    好友

    2412

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情
    无聊
    2016-11-9 20:46
  • 签到天数: 229 天

    [LV.7]常住居民III

    发表于 2014-5-4 09:16:33 |显示全部楼层
    好样的 !
    回复

    使用道具 举报

    24

    主题

    7

    好友

    1082

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情
    开心
    2013-10-31 08:31
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    发表于 2014-5-5 12:02:59 |显示全部楼层
    顶起啊!

    有个好用点的windows终端工具,secureCRT,支持多标签。
    回复

    使用道具 举报

    24

    主题

    7

    好友

    1082

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情
    开心
    2013-10-31 08:31
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    发表于 2014-5-5 12:03:56 |显示全部楼层
    映射网络驱动器

    怎么弄的?我都是FTP上传到虚拟机
    回复

    使用道具 举报

    15

    主题

    4

    好友

    903

    积分

    举人

    Rank: 4

  • TA的每日心情
    开心
    2016-9-29 15:49
  • 签到天数: 113 天

    [LV.6]常住居民II

    爱板会员勋章 活跃会员勋章

    发表于 2014-5-5 12:40:26 |显示全部楼层
    上传到虚拟机倒是好弄,虚拟机里有个共享文件,弄个共享文件夹就可以了,在linux里挂载下就能使用了。
    我想让linux里的源码共享到windows下面,这样使用sourceinsight就可以比较方便的查找修改代码了。我使用的是samba服务器然后共享代码文件夹就行,网上有很多例子。然后就在windows下右击我的电脑,映射网络驱动器,指定共享文件路径就行了。
    设置完就有驱动器了:
    gongxiang.png


    共享后查看和修改代码就方便多了:
    gongxiang1.png


    你可以在网上搜索ubuntu设置samba服务共享文件就能找到很多方法。就不用重复贴了。
    回复

    使用道具 举报

    67

    主题

    14

    好友

    5038

    积分

    状元

    Rank: 6Rank: 6

  • TA的每日心情
    奋斗
    2015-10-8 09:49
  • 签到天数: 430 天

    [LV.9]以坛为家II

    爱板会员勋章

    发表于 2014-5-5 16:29:55 |显示全部楼层
    xinxinyuan 发表于 2014-5-5 12:40
    上传到虚拟机倒是好弄,虚拟机里有个共享文件,弄个共享文件夹就可以了,在linux里挂载下就能使用了。
    我想 ...

    在windows下用source insight编辑linux源代码,帅呆了
    回复

    使用道具 举报

    0

    主题

    1

    好友

    42

    积分

    白丁

    Rank: 1

  • TA的每日心情
    奋斗
    2015-8-7 16:36
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-8-27 12:07:41 |显示全部楼层
    有Linux下的烧写全部文件的方法么?
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /6 下一条


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-3 21:49 , Processed in 0.150971 second(s), 16 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部