• 欢迎访问我的博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 本网站关闭了评论功能,联系请点击→邮箱
  • Ctrl+D 可快捷收藏本站点

2021年04月的内容

ucos-iii内核学习笔记

ucos-iii实现的全局变量

ucos-iii实现的全局变量
通常我们定义全局变量的做法都是在.C文件里面定义全局变量,然后在这个文件对应的头文件里面加 extern 声明,在外部文件调用的时候,包含其头文件,加入全局变量的声明(不加也是可以的,最好加上,包含 .h文件的时候已经把声明加入了) //test.c int a; //test.h extern  int  a; //main.c #inc……继续阅读 »

gql 4年前 (2021-04-23) 1118浏览

C/C++

程序编译的四个阶段

程序编译的四个阶段
编译过程可以分为四个阶段: 预处理(-E) 预处理就是对源程序中的伪指令(以#开头的指令)和特殊符号进行处理的过程。伪指令包含宏定义指令,条件编译指令和头文件包含指令。gcc对C源文件进行预处理后会输出 .i 文件。 主要处理规则如下: (1)将所有#define删除,并且展开所有的宏定义。(预处理指令1 – 宏定义!) (2)处理所有条件编译指……继续阅读 »

gql 4年前 (2021-04-23) 1134浏览

STM32

IAP的两种实现方式

IAP的两种实现方式
在Coretext-M3与Coretext-M4核中,在System Control Block中存在一个向量表偏移量寄存器 VTOR(0xE000ED08),系统产生中断后,内核通过这个寄存器的值来找到中断向量表的地址,进而执行中断例程代码,当然,此寄存器的值是可以修改的,它的默认值为0,由于映射关系,实际上就是指向映射地址,比如0x0800 0000。值……继续阅读 »

gql 4年前 (2021-04-01) 1026浏览