嵌入式开发就是指在嵌入式操作系统下进行开发,包括在系统化设计指导下的硬件和软件以及综合研发。除暂且分离硬件的EDA研发以外,侧重的就是在一定硬件条件下的系统化设计和软件研发。

嵌入式开发中的常见问题小总结

1、单片机等小的外部总线

      单片机等小的MCU一般都有外部总线,可以用来接真彩LCD(异步总线接口TFT显示屏)。手机上,大部分都是用同步(先给出一个地址,然后连续的刷数据)接口的屏。

2、ARM处理器的应用场景

      ARM7:工业控制、手机;

      ARM9:图像显示;

      Cortex-A:高性能的应用:手机、山寨本;

      Cortex-M:低端的应用;

      Cortex-R:中端的应用,比较少见。

3、ARM处理器的异常

      一般情况下,前面的一些中断(比如前15种)是由ARM公司自己设计的,并且是固定的,后面的部分中端则是由不同的芯片厂家定义的。

4、处理器的System Timer

      System Timer 即Systick,在没有OS时,可以作为通用的定时器使用。在需要OS时,可以作为OS的系统时钟。

5、同一中断的禁止和使能分别由

      不同的寄存器控制

      目前,很多的处理中都会有这样的现象,同一中断的禁止和使能分别由不同的寄存器控制。禁止该中断时,向中断屏蔽寄存器中对应的位写入1,使能该中断时,向中断使能寄存器的对应位写入1。

      这样分开控制的好处是:

      A.不用将中断控制寄存器的值先读出来,进行或运算后再写回去

      B.直接写1,不会影响到其它位所控制的中断

6、OD门输出

      在处理器电平与外设电平不匹配时可以使用。

7、如何设置IO的状态以降低功耗

      若某输入引脚悬空,有漏电流,会耗电。判断方法:用手摸时,电流会变动。

      A.将不用的引脚设置为0或者1的输出模式

      B.若配置为输入引脚,应将内部上拉打开

8、ADC和DAC

      在系统睡眠时,应该将ADC和DAC关掉,否则会耗电。

9、看门狗的使用

      A.不要在中断中喂狗

      B.喂狗越没有规律越好

10、I2C总线

      SDA和SCL都是双向的,开漏驱动的,使用时要加上拉电阻。

      I2C协议的通讯过程:

A.发送start信号(谁发送start信号,谁就是主机)

B.发送从地址

C.传输数据

D.发送stop信号

      用软件模拟的I2C总线有如下缺点:

A.不能进行总线仲裁

B.由于要一直检测时钟信号,因此难于实现从设备。

11、逻辑0页

      很多MCU的逻辑0页可以任意映射,这样就可以在flash中烧写多个系统。通过配置字节配置系统从不同的地址启动,这样可以实现升级。