一年前,由于工作需要,开始正式进行嵌入式linux开发,之前主要做的是裸机开发嵌入式系统,对嵌入式linux也有些许了解,但仅仅停留在概念上的了解,经过了1年多的折腾,设备交了,最近也有时间停下来小结一下了。
总结了一下嵌入式开发应具有的工具。
1、linux 软件平台,对应一个硬件平台,操作系统平台应基本不变,而且要是这个硬件平台的主流平台,最近买了天嵌的IMX6Q开发板,软件平台版本号如下:
(1)uboot:u-boot_2009.08
(2)linux_kernel:linux_3.0.35
(3)rootfs:使用开发板自带的rootfs,内置QT库
(4)根文件系统类型:EXT3
linux软件平台,暂时使用天嵌提供的,后期慢慢使用从相应官网下载的版本,然后自己编译。
2、编辑器
《构建嵌入式linux系统》里面介绍了一个cscope工具,我上网百度了一下,功能类似于source_insight,而且可以EMACS+CSCOPE,暂时没试过,后续将会使用,并上传体会。
3、编译器
使用arm-none-linux-gnueabi-,目前使用版本为2014.05-29。
4、调试器
使用gdb,书上和网上介绍使用gdb-server放入嵌入式系统上,可以远程调试设备上的应用程序。
当时调试内核暂时还不知道怎么调试。
5、远程登录
有两种,telnet和SSH
telnet正在使用,缺点是安全性很差,明文传输。后期会逐步使用ssh。
6、内核和根文件系统调试方式
使用uboot+TFTP方式,可以将编译好的内核通过TFTP方式传送到嵌入式系统上运行,这样省去的没事烧写的痛苦。
使用nfs方式挂载根文件,可以讲本机上建立的嵌入式文件目录直接挂在到板子上。
7、调试应用程序
使用telnet或者SSH远程登陆板子;
使用讲板子上的某个目录于挂载到计算机上的目录(使用nfs文件系统),用户文件复制;
使用gdb调试应用程序。
8、版本管理,当然使用git了。推荐篇文章,简单易懂,在百度上一搜git,第二个就是他的
Git教程 - 廖雪峰的官方网站
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/这是按照当前的认知水平进行了小结,同时也是下一步工作,会及时讲工作小结上传,并纠正上述描述中的错误。
9、提供一个嵌入式Linux学习视频当时花了10元买的,开了两遍,很有收获。http://pan.baidu.com/s/1eQ2KRU6