0
点赞
收藏
分享

微信扫一扫

嵌入式开发之道——菜鸟成长日志与项目经理的私房菜(读书笔记)

芷兮离离 2022-11-01 阅读 167


嵌入式开发之道——菜鸟成长日志与项目经理的私房菜 邱毅凌著


嵌入式开发之道——菜鸟成长日志与项目经理的私房菜(读书笔记)_数据


1、一般函数调用与中断ISR的区别

一般程序都是循序执行的,CPU一定要执行到main()的第20行,才有可能去调用sub_fun()函数,而中断可以发生在任何的时间地点。例如,使用者可以在任何时候按下键盘的某个键,此时不论CPU下个要执行的指令是什么,CPU都会先记录目前的状态,然后参考中断向量表,接着去执行键盘中断的处理程序。等ISR执行完后,CPU会取回中断之前的状态,然后返回被中断的地址继续循序执行。

嵌入式开发之道——菜鸟成长日志与项目经理的私房菜(读书笔记)_linux_02


2、中断分为CPU自行产生的内部中断及由外围设备产生的外部中断。

3、*(volatile unsigned char*)0x300022&=0xfd; C语言用指针取地址里面的东西

asm(“xld.w %r0,0x300022”);

Asm(“bset [%r0],0x1”); 汇编用[]取地址里面的东西

嵌入式开发之道——菜鸟成长日志与项目经理的私房菜(读书笔记)_linux_03


4、linux的基本执行单元是process,而thread是process内的执行单位

RTOS的基本执行单位是task,这些task共享地址空间,和多个thread共享一个process一样。在linux上多个thread最多把一个process搞死,而某个task作乱,整个系统都会被影响。(thread与RTOS上的task思想相同)。

5、FAE(field application engineer)现场应用工程师,FAE非常了解自家的产品,最主要的工作是协助客户解决使用产品上的问题。跟RD比较起来,RD做的事情比较封闭,只是呆在办公室里做研发。

6、CPU内部有一段小程序,供电后会从NAND FLASH的第一个block,读出16KB的程序到CPU的内部存储器中。

CPU将控制权交给内部存储器的程序,这个程序就是BootLoader

BootLoader会初始化SDRAM,再从NAND FLASH将主程序载入到SDRAM

BootLoader将控制权交给SDRAM内的主程序

嵌入式开发之道——菜鸟成长日志与项目经理的私房菜(读书笔记)_linux_04


7、NAND FLASH(以2Gbit的NAND为例)

NAND的基本单位是block,这个设备共有2048个block

每个block里有64个page

每个page的size是(2048+64)Byte,其中2048Byte是Data Area,而64Byte是Redundant Area(用于存储校验信息和其他信息)

嵌入式开发之道——菜鸟成长日志与项目经理的私房菜(读书笔记)_linux_05


对于NAND Flash 来讲,地址和命令只能在I/O[7:0]上传递,数据宽度是8 位

Nand flash 以页为单位读写数据,而以块为单位擦除数据。按照这样的组织方式可以形成所谓的三类地址: –Block Address – Page Address –Column Address

NOR FLASH
Nor Flash采用并行地址总线和数据总线,若有21bit地址总线,16bit数据总线,则该Nor Flash最大可寻址为2M的地址空间。Nor Flash可寻址每一个存储单元。
Nand Flash
数据和地址均通过8bit 的I/O总线串行控制。Nand部支持连续空间寻址,无法在片内运行程序。


举报

相关推荐

0 条评论