嵌入式入门之路坎坷但无比的有趣 心得交流1
2014-04-03 13:12
162 查看
本文献给那些自学嵌入式的同学,互相鼓励吧。本人自学S3C2440已有5个月不到的时间了,去年(2013)11月中旬买的开发板,mini2440,买了好奇得把玩的几天,没做什么实事。后来开始看开发板附带的光盘,前面两张教学光盘光看了,没同时一起动手实践。当时想法是,自己好歹是学计算机的,这种简单操作怎么能不会,后来为此付出另外的时间在学怎么操作。1、提醒刚入门的同学,一定要边看边做,想想为什么这么做,总结个顺序,韦东山老师做视频用UE总结的习惯现在就被我学去了,以后有什么基本不会,直接打开txt文件,一目了然哦!(后来开始使用一个叫印象笔记软件,还不错。)写这篇文章时已经是2014年4月初了,过去的4个月,没有完全投身于开发板的研究,部分时间都花在了应付期末考试和回家过年上了,在这里给自己找个理由吧
。想在开发板上玩转嵌入式,咱好歹得有个开发平台或是开发环境吧。我采用了PC和开发板直接用交叉网线连接的方式,开发环境用的是虚拟机上的Fedora
20 KDE版,交叉工具链是arm-linux-gcc 4.3.2 (后来用了更新版本的,好像是4.4.3),编辑器用的是VIM,后来Samba配置好后,就在Win7下用UltraEdit编辑裸机代码了。刚刚提到了Samba,用途就一句话(至少我现在就用到这个功能):用于linux和win7间互相传输文件,当然它也具有在局域网内共享打印机等等功能,好奇的同学自己百度或是google吧(在这里插一句,随着学习的深入,问题增多,难度增大,越来越觉得google比百度在某些方面搜素能力强了,很多技术问题,在google能找到,但是是国外的朋友写的,希望大家能耐心读完他们的文章,都是宝贵的经验!这样也可以顺便提高英语阅读的能力,一举两得的事啊),嵌入式交叉编译难免用NFS服务,个人感觉NFS比Samba容易配置,samba的那个配置文件(记得是smb.conf)实在不好写,修改时请耐心看完前面的英文注释,很有用的。nfs就比较容易配置了,只要在/etc/exports文件里添加相应项即可,然后执行exportfs
-ra 即可,然后再本机上挂载nfs,看看能不能挂载,我挂载在/mnt/nfs下,mount后,/mnt/nfs下出现和要挂载的目录中相同的文件就说明nfs配置成功。然后nfs的问题可以先放一下了。
既然是在linux下编程,那么编程完毕后,一些基本的linux命令必须得会,比如:ls、cp、mv、pwd、cd等等。在linux环境下,我没有使用类似vc++和codelite那样的IDE,而是自行编写Makefile和.lds链接脚本,执行make命令,慢慢地发现这样比以前点击VC上的那些编译按钮好多了,原因有两个:1、编译过程不透明,能看得见,控制得住,想让gcc输出什么类型的中间文件,gcc就乖乖的编译输出。2、对编译过程能有一个全新的了解,比如在学习链接文件时,就学到不少有关段的知识,感兴趣的朋友可以自己google,在此不再赘述。
在GNU下编写程序,得先懂一点GNU编程知识,不然连别人的程序都看不懂,嘿嘿,总体而言,语言本身语法基本没有变化,变化的基本都是编译器扩展的东西。这样一来,便可以自己开始编程了。在这提一句,linux命令man是样好东西,同学不要一碰到不会的或是陌生的函数就百度,试试看man它,man能告诉你很多很多有关它的知识,哈哈,有问题找男人,这么记吧。编译过了,有错误找不出就GDB(调试器),好东西,详情百度。(插一句,写ARM裸机代码时,(裸机代码就是没有bootloader和OS支撑的代码,通常是ARM汇编和C的结合体)ARM-linux-objdump是样东西,用它生成反汇编文件,找错会变得容易!但是请朋友们耐心解读反汇编文件!)。这次先写到这里了,去图书馆转转啦。
相关文章推荐
- 嵌入式入门之路坎坷但无比的有趣 心得交流2
- 嵌入式入门之路坎坷但无比的有趣 心得交流3
- 写给新手,从不懂到入门,一只老鸟的嵌入式入门心得
- 嵌入式开发初入门,我如何踏上嵌入式开发之路(之一)
- 写给新手,从不懂到入门,一只老鸟的嵌入式入门心得
- 写给新手,从不懂到入门,一只老鸟的嵌入式入门心得
- 写给新手,从不懂到入门,一只老鸟的嵌入式入门心得
- 如何学习嵌入式? 嵌入式之路从入门到放弃....
- [转] 嵌入式入门学习法(写给惠州学院电子系学嵌入式的同学们)
- 【转载】我的嵌入式之路
- GCC嵌入式汇编(内嵌汇编)入门
- 有趣的机器学习:最简明入门指南
- ARM入门最好的文章------转载一位资身工程师的入门心得
- 我学习嵌入式linux开发入门过程(三)
- 小猪的Android入门之路 Day 4 - part 3
- 小猪的Android入门之路 Day 8 part 6
- Android开发入门之路
- 学习方法之------如何啃书(转)|||我(本人)的编程入门之路,就是看书看出来的,而非看视频教程或者老师教出来的。
- web测试工具Selenium入门心得
- Proc *C/C++入门之常用嵌入式SQL语句