9.4日公开课答疑汇总

1 ,第四期的智能猫眼会有打电话和发短信的功能吗?  
答:会有打电话功能,硬件上支持打电话就会支持发短信,只是软件上是否实现发短信现在未定。因为短信延迟太严重,不是可靠的。


2 ,请问关于 makefile 中的很多设置项,像段啊什么的?是什么意思呢?需要深入学习吗?  3  
答:对于裸板才需要我们自己管理“段”,这并不是什么很高深的知识,看过涉及重定位的裸板视频就可以了解清楚了。至于其他设置项,基本上就是编译选项而已。 Makefile 本身并不复杂,也不应该成为学习的拦路虎:用于裸板的 Makefile ,它是非常简单的,重点应放在程序的重定位上;对于 APP Makefile ,要自己写出一个通用的 Makefile 需要一定的功底,但是你完全没必要自己写,使用现成的就可以──第 3 期视频有一个视频专门讲 Makefile ,并且给出了一个可以直接使用的、通用的 Makefile


3 arm 以前写过裸机程序 看实验室同学,都在用 stm32 开发,我用不用学习 STM32 ,马上要找工作?  3
答:对于长远的发展,我认为不需要再去学习 STM32 ,因为它的就业面相对较窄。如果你是想往 Linux 方向发展的话, STM32 所学到的知识远远少于“把 ARM 开发板当作单片机的第 1 期视频”,比如 STM32 用的都是 KEIL IAR MDK 等集成开发环境,它封装了太多技术细节,我敢肯定你不会了解这些知识:重定位、段、位置无关、异常处理入口等等。我建议你直接学习第 1 期视频,掌握了第 1 期视频后,所有的单片机──包括 8051 STM32 都是简单的。
        但是,如果你马上就要工作,你现在有的知识只是裸板程序的话,我建议你就看看 STM32 吧,这可以给简历添加点内容。


4 ,老师,请推荐学驱动的书籍哈,还有学应用的书籍   
对于应用,我认为不应局限于 LINUX ,因为应用编写的核心技能应该是多操作系统都通用的,比如面向对象着编程思想等。
对于 LINUX 应用的基础技能,比如怎么打开、读写文件,就看《 UNIX 环境高级编程》。

5 ,把 uboot 放到的位置  这个位置 怎么确定? 怎么详细计算这个具体的地址   
答:一般是把它放到内存的高处,比如 S3C2440 开发板外接的内存通常是 64M ,基地址是 0x30000000 ,那么我们把它放到 0x30000000+64M-512K=0x33f80000 的位置。为何是 512K ,因为我们认为 UBOOT 不会太大,不会超过 512K 。你当然可以认为它不会超过 256K ……


6 ,怎么看 QT Android ?   
答:我没有经验,但是有良好的 C C++ 知识的话,一个月即可入门:我的两个同事就是这样的,一个学 QT ,另一个学 android 。就是看网络上可以找到的资料。


7 ,老师,把第二期视频看完理解透彻能达到什么样的水平?  
答:光理解是不行的,如果你不看视频就可以自己写出来,那么完全具备 2 年工作经验了。这些知识足以让应付 Linux 底层工作中常见的问题了。注意:要想再上一层楼,只有在工作中不断碰到难题不断去想方设法解决,在这过程中会让你重新煅炼自己的知识体系。


8 lds 里面为什么要 4 字节对齐呢?   
答:比如说一个 int 变量,如果它的地址不是 4 字节对齐,假设地址是 3 那么 CPU 访问它时就要需要分为 2 次访问:先访问地址 0 1 2 3 ,再访问地址 4 5 6 7 ,然后把 2 次读到的数据 ( 地址 3 、、 4 5 6 上的数据 ) 凑起来。
        这降低了访问效率:根源是很多外设的访问是以整地址进行的。


9 ,请老师讲讲链接脚本的问题哈   
答:这个问题是什么问题? :(
        链接脚本不算复杂,希望你能从头看一下第 1 期视频,结合《嵌入式 LINUX 应用开发完全手册》一起看。


10 ,老师,应用是单独讲的吗? 在第几期里面,目前大四。。急!  
答:第 3 期里讲应用,里面涉及到一些编程思想:面向对象、模块化等;涉及到一些基础知识:比如网络通信。


11 ,去找工作应该准备些什么?   
答:实实在在的经验。不管你是在校期间做的项目,还是自己学习编程的体会,或是实现中做的项目,一定要有真实的经验。并且在简历上写出来。
        最后,就是在面试时你能讲出自己的经验。


12 ,作为自学嵌入式 Linux,  去找工作时如果没有什么项目经验,应该怎么准备面试?  9
答:没有实际项目经验,就需要你展示自己的技能:学习中碰到的问题怎么解决、有什么印象深刻的解决过程。总之,很多公司并不强求你有项目经验,但是需要考察你的基础知识、学习能力、工作态度:现在有基础知识是否适合该工作,能否通过 3 个月把你培养起来;你的自学能力如何;你的工作态度怎样,吃苦耐劳──呵,多老的词啊,但是就是需要这样的人。


13 ,工作中的驱动一般都有哪些?   
答:这个要看具体工作了,我工作中做过的驱动有:
LED PCI 、摄像头、 SATA 硬盘、 LCD 等。
        不管是什么驱动,重要的是你的“能力”:给你一个没接触过的驱动,你应该可以把内核中相关的子系统弄清楚,然后移植或是写出这个驱动来。这涉及的知识点(比如休眠唤醒、注册)在第 2 期里都讲有了,只是你有无能力去分析就要练了。


14 ,嵌入式工作的最低要求是什么啊?
答:嵌入式工作有很多职位啊,这个最低要求的问题我实在无法回答。
        比如做手机的行业里,有专门做 bootloader 的,那么你掌握第 1 期的裸板就可以了;
        再说到做驱动的,需要你掌握第 2 期;
        如果是应用,我就更无法回答了,但是 C JAVA 等技能是要的。
        “最低要求”意味着“最低工资”,也意味着“难找工作”。
        再说一个“最最低要求”:即使你什么都不会,但是如果有全天学习、做梦都是怎么解决学习问题的学习状态话,不出半年你就可以学得很好了。


15 ,韦老师,而且视频需要几个月时间?   
答:半年时间左右。第 1 期花 1 2 个月,第 2 期花 3 个月左右,第 3 期花个 2 个月吧。
        我说的是全天学习。
        在培训机构里,这些内容他们也是开班半年到 1 年的。


16 ,所有视频 一起买 可以给个优惠么?   
答:请联系 http://100ask.taobao.com



17 ,第二期关于调试的内容,作为初学驱动的学生看的作用大吗?  
答:开始时,你只需要用 printk 就可以了。其他的调试方法,需要你对系统框架有所了解,并且不太用得上──除非碰到特别麻烦的问题。


18 nand  不是要先初始化 cpu 才能用吗,他是怎么自动拷贝的?   
答: NAND 并不需要先初始化,需要初始化的是“ nand flash 控制器”。自动拷贝是由硬件实现的,或是说芯片内部固化的代码实现的,其实也是厂家写的程序──只不过它是固化在芯片内部了。


19 ,第一期视频下载地址   
答: www.100ask.org的下载页面有说明


20 ,学应用应该看第几期视频   
答:如果是练习 LINUX C 语言的应用开发的技能,就看第 3 期;如果是 QT andorid 等,我们没有视频。


21 ,第一期视频好多代码老师都没自己写 是照着讲解  那我们都需要自己写么?  汇编和 C 语言都需要么?   
答:第 1 期需要结合《嵌入式 LINUX 应用开发完全手册》来看。一定要自己写,学习编程不自己写的话,是不可能学好的。
        汇编、 C 都要自己写,你不想写,那就是懒!


22 ,现在大三升大四,有一点单片机基础,有 C 基础,马上要找工作了,要怎么学啊?   
答:马上要找工作的话,这个节点实在是让人为难。 LINUX 的学习至少需要半年,只有单片机基础的话,单片机的就业市场又太小。如果你有 JAVA 知识,或是即使没有 JAVA 知识但是学习能力强,就看看 andorid 编程吧,它容易入门,并且现在需求大。
        如果能有半年到 1 年的学习时间,有单片机基础的话倒是适合按第 1 2 3 期视频的顺序学习。


23 java,C++  哪个用的多,嵌入式里   
答:就编程方法、技能而言,两者想辅相成,差不多。
        JAVA 现在就是因为 android 的流行才用得多,离开 android 的话在嵌入式领域它是基本用不着的。
        至于 C++ ,其实用得更不多了, QT 里用得多点。
        抛开 andorid QT ,在 LINUX 应用里用得多的编程语言是 C


24 , 老师好,请问 0 基础该如何学习?  
答:你的方向是什么?看这个链接:
作为一个新人,怎样学习嵌入式 Linux



25 ,怎么分配第一期第二期的时间规划?? 大约多长时间每一个  
答:总体来说,第 1 期花 1 2 个月时间,尽量在 1 个月内搞定。
        第 2 期需要 3 4 个月时间。
        提醒一句:必须练习、必须写代码,不能光看觉得自己理解就行了。


26 ,三期视频老师建议用多长时间学习呢?   
答:如果之前没有写过比较大的 C 程序,我建议用 2 3 个月来看。
        如果已经有了比较丰富的 C 技能,用 1 2 个月。


27 ,老师,我看新版本的 uboot 的链接地址都不是写死的,哪一种更好  
答:不写死链接地址的原因:为了适应多种板子。你工作时,肯定是选定了某款板子,那就可以把这个地址定死了。“不写死链接地址”,使得程序过于复杂,我现在看新版 UBOOT ,就觉得它乱糟糟的。


28 ,大四有单片机 C 语言基础 现在刚开始学习嵌入式但感觉时间来不及还望老师指点到底该学神马?        
答:看前面的第 22  个问题。


29 ,电源管理项目什么时候出   
答:已经开始发布了,我想在 2 3 周、国庆前发布完。


30 ,发一个视频下载地址   
答: www.100ask.org下载页面,
        也可以在线看第 1 期的视频: http://u.youku.com/韦东山



31 , 毕业班视频在第一期配套光盘上有吗?
答:没有,在第 2 期的光盘上才有。


32 , 找 Linux 驱动的工作,面试时一般会问些什么问题,该怎么回答?   
答:基本上所有的面试,都会这样问:
一、 你工作中碰到什么问题,怎么解决
二、 假设有某个问题,你的解决思路是怎样
1 个问题是考察你现有的能力,第 2 个问题是考察你的学习、应变、解决问题的能力。


33 ,应聘 ARM 开发工程师都需要哪些知识, linux 的内容需要了解多少?
答:以这个为标准:能工作。
        比如对于 LINUX 底层,你学完了 1 2 期视频,我现在给你一个新板子,你能否把 UBOOT 、内核、文件系统搭起来,你能否把第 2 期里的驱动都写出来?
        对于应用,其实更多考虑的是你的 C 语言能力,跟是否嵌入式一点关系都没有 ( 因为嵌入式 APP 开发,跟 PC APP 开发所需技能是完全一样的 )




34 ,据说有些部门有专门做 bootloader 的,老师知道他们的主要工作吗?  
答:你就参考手机刷机时用到的功能:通过 USB 连接电脑、读 SD 卡得到刷机包、刷机、并且在 LCD 上显示操作菜单,……。大概就是这些事情。



35 ,韦老师希望能讲下 head.s 中的物理内存到虚拟内存映射的那段代码   
答:现在没有时间讲,也没有打算讲。这一部分暂时不用去看。


36 head.s 中的地址映射是怎么回事,我一直都没搞懂   
答:同上。


37 ,目前具有 C 语言和汇编已经单片机基础,请问直接写可以实用的东西应该看第几期或者说着重看哪一些章节    2
答:直接从第 9 UBOOT 开始往后看吧,第 9 课是第 1 期的, 12 课第 8 节开始是第 2 期的。



38 ,对于找嵌入式方面工作,需要准备几个项目比较好,视频监控能打动面试官否?  
答:面试官更看重的是你在所列举项目中显示的能力。
        比如做安防的公司,当然会看重视频监控的经验,看重你是否会摄像头驱动;
        再比如各种智能外设公司,可能更看重你对各类外设的能力:比如红外、传感器、蓝牙。
        有一个误区,很多人是用同一个简历投向上百家公司。这是不可取的:
一、你对这个公司不用心,所以懒得去针对他们的要求改简历。
二、我看过近千份简历,没有个人特色的简历往往被第 1 时间丢掉。人人都写:精通 C 语言数据结构、精通 ARM 、精通 LINUX ──人人都这样写,只要有一个人针对该公司、该职位稍微修改一下简历,即可脱颖而出。

        你用心对待这个职位,招聘者才会用心对待你。


39.  韦老师, EXT2 YAFFS2 根文件系统  udev 他们之间是关系或者各自在系统中扮演什么角色?
答: EXT2 YAFFS2 只是文件系统的类型,就像 windows 上的 FAT32 NTFS ,只是一种格式。
        “根文件系统”是内容,是系统启动“必备的文件,比如库、某些应用”,就像 windows 上的 C 盘里面的内容,里面的文件删除一个就有可能导致系统无法启动。

        Udev 是一个应用程序,它的作用是当你拨插某些设备时,会自动执行某些程序。还是以 windows 为例,当你插入 U 盘时,会自动安装驱动。Udev 所做的事里有一项跟这是一样的。


40.  讨论栏限制游客发言!为了听课第一次使用 YY ,还想怎样?
答:我们也是第一次使用 YY ,开始不会使用选择了“主席模式”导致游客无法发言,后来马上换为“自由模式”了。下一次会做得更好。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值