嵌入式入门之路坎坷但无比的有趣 心得交流1

       本文献给那些自学嵌入式的同学,互相鼓励吧。本人自学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是样东西,用它生成反汇编文件,找错会变得容易!但是请朋友们耐心解读反汇编文件!)。这次先写到这里了,去图书馆转转啦。
  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值