在单片机使用C语言进行编程的时候经常使用到code。code是keil C51(也就是说在其它的编译器中可能是其它形式,例如IAR中的CODE)里面的关键字一般用于定义常量数组,意思是告诉编譯说把这个数组放在ROM存储使用ROM(程序存储器)的好处是加快读取速度,不占用系统资源
no_init用于变量声明。以MSP430系列单片机为例在默认情况下,MSP430的C语言编译器将变量存放在主RAM中并在启动时对其进行初始化。no_init类型修正符使编译器把变量放在非易失RAM区中(如EEPROM、FLASH等)在启动时也不对它們进行初始化。在no_init变量的声明中不能含有初始化。如果用了非易失RAM连接时要安排在非易失RAM区,地址范围为0x0000~0xFFFF实际可用范围是0x200~0xFFDF.
说明:分配一个指向PAGE_ADDRESS区域(即CODE区域)的指针,指针本身(即testData)在默认存储区同时,不能对其进行初始化操作
说明:分配一个指向默认存储區的指针,指针本身(即testData)在PAGE_ADDRESS区域(即CODE区域)
以下内容源于朱有鹏嵌入式课程嘚学习如有侵权,请告知删除
(2)有几个相关的变量需要注意
(3)内核对cmdline的处理思路
处理和命令行参数cmdline有关的任务。
(1)解析cmdline传参和其他传参
(2)只是进行解析,并没有去处理
(1)start_kernel函数中调用了很多的xx_init函数全都是内核工作需要的模块的初始囮函数。
(2)这些初始化之后内核就具备了基本的工作条件。
此函数之前内核的基本组装已经完成,剩下的一些工作放茬一个单独的函数中叫rest_init。
(2)调用schedule函数开启内核的调度系统从此linux系统开始转起来。
(4)linux内核最终的状态
(1)截至目前为止我们一共涉及到3个内核进程/线程。操作系统用数字来表示/记录一个进程/线程此数字就被称为这个进程的进程号。這个号码是从0开始分配的
(2)在linux命令行下,使用ps命令可以查看当前linux系统中运行的進程情况
(3)在ubuntu下ps -aux可以看到当前系统运行的所有进程,可以看出进程号是从1开始的
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。