本帖最后由 periscope 于 2014-7-7 09:33 编辑
我来回答一下吧,凭个人感觉随便说说
1.uboot,zImage,kernel等移植过程重要么?
这些东西,学起来很麻烦,至少我但现在没有遇到一本完整的讲的比较好的书,即便掌握了,我认为一块板子只需要一次移植,后面开发和这些没太大关系吧?不知道这样理解对不对?而且重点是,这些东西没有个集成开发环境,自己改改出了错也不知道如何debug.
答:u-boot相当于我们使用电脑主板上固化的BIOS,用于引导操作系统;zImage是一种数据格式,是编译好的Kerne或者kernel和文件系统在一起,如ramfs就是和kernel编译在一起,kernel是内核,故名思意,就是核心,是操作系统的灵魂,这个很重要,当然也很复杂,里面是最核心东西,如线程进程管理,内存管理,任务调度什么的,都有前辈大牛们写的,而大部分国内做的只根据自己的需要相应是把驱动添加进去了,驱动可以编译进内核,也可以动态加载,这就是移植,另外就是不同的硬件裁剪和添加都需要移植,这就是为什么嵌入式设备没能像PC机那样标准化,学习的话可以先从上层入手,uboot和内核可以先用别人移植好的,上面说的包括驱动源码共同构成了Kernel,说的比较乱,一句话,跑Linux的设备,如果没有kernel就相当于电脑没有装Windows 一样,一堆破铜烂铁
2.前辈们看来,ARM+linux应该怎么做应用?
比如,用QT?至少QT有个开发环境,可以debug,我实在无法想像自己写个source.c然后自己编译链接..即便有make文件,感觉怎么都不方便,不知道真正做项目的时候,一般都是怎么做的?就愣用cpp写QT程序么?如果是这样,我觉得还不如winCE开发环境友好.
答:QT我没有怎么接触过,大概就是相当于一个图形库,可以不需要真机就可以在模拟器上就可以搞图形开发,那是可以调试的
3.python行不行?
不知道能不能把硬件接口到python解释器,用Tk做界面,额..查了下好像没人这么做.
答:这个完全不了解,反正没有听说过
4.ARM+linux开发标准debug方法是什么?
交叉开发环境好像都是在虚拟机上面编译,放到板子上执行,那么如何debug呢?比如设置断点,看变量,这些功能没有不行啊
答:调驱动基本上只有靠print打印了,不过有一个高大上的调试器,叫TRACE32可以把整个内核加载进去包括符号表,能在线调试,不过这个东西比较贵,以前也只有遇到实在无法解决的问题才会用它。
大早上码字,呵呵