至于你问的用什么语言,那是次要的,只要可以 *** 作硬件的语言都可以,工业上常用的是c和汇编。C++也是可以的,但是C++更适合面向对象编程,而嵌入式开发是面向过程的结构化编程,所以我个人觉得C更适合。
至于开发环境,有很多编译工具可以选择,比如GCC,CYGWIN,最近Keil被收购以后也可以对ARM芯片进行开发了
作为一个编写过ARM教程和Android产品开发者而言。你在单片机的相关知识,在Android底层是绝对有用的。这个里底层是指内核接口以下的程序。以上包括Android HAL驱动(就是linux C程序编写,跟硬件控件没太多直接联系),Android 的框架和Android的应用。这一类开发对你而且是全新的东西。
而底层的程序包括,内核,bootloader和驱动。基本开发Android硬件产品公司主要需要这一类人。
而不同产品中,内核和bootloader变化较小,主要的工作量是在驱动之上。驱动相当于 单片机程序+linux内核接口。
但是从单片机转型为Linux驱动开发的,几个主要问题的,是代码量急剧增加,在单片机中有一些习惯在驱动开发里变成致命的陷阱。比如不喜欢用宏,在驱动大量用到内核复杂结孝碰扒构而单片机往往自写,还有一个并发处理,也是一个难点。 我教过很吵雀多想巧昌单片机转型成Linux的工程师。这一些东西往往很难改变,有时难得有人就放弃,还是回去做单片机开发了。
你用FLASHPROGARM 很有可能把那个bios给冲掉了。BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输芦数出系统"。在IBM PC兼容系统上,是一种业界标准的固件接口。 [1] BIOS这个字眼是在1975年第一次由CP/M *** 作系统中出现。 [2] BIOS是个人电脑启动时加载的第一个软件。
其实,它是一组固化到计算机内主板上一个掘羡ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系陪散首统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)