论坛首页
任务活动
问答
论坛专题
登录
注册
舒伯特玫瑰
+ 关注
粉丝
2
|
主题
53
|
回帖
266
加好友
私信
帖子
主题
回复
评论
小华半导体芯片启动文件详细讲解
2023-6-26 13:24
小华半导体
41
2227
......
值得注意的是上面有一段操作R0和R1寄存器的代码,这段代码是什么意思呢?查询手册,找到这个0x40050804的地 ...
......
__main:一个标准的C库函数,主要作用是初始化用户堆栈,并在函数的最后调用main函数进入C语言世界。这就是 ...
System Init():一个标准的库函数,在system_hc32f460.c这个库文件中定义。其主要作用是配置系统时钟,这里 ...
WEAK:表示弱定义,如果外部文件优先定义了该标号,则首先引用该标号,如果外部文件没有声明,也不会出错。 ...
复位子程序是系统上电后第一个执行的程序,调用System Init函数初始化系统时钟,然后调用C库函数_mian,最 ...
......
定义一个名称为.text的代码段,只读。
4. 复位程序 AREA |.text|, CODE, READONLY
__Vectors为向量表起始地址,__Vectors_End为向量表结束地址,两个相减即可算出向量表大小。向量表从Flash ...
向量表的代码比较长,占据了启动代码的大部分篇幅。
......
EXPORT:声明一个标号可被外部的文件使用,使标号具有全局属性。如果是IAR编译器,则使用GLOBAL这个指令。 ...
定义一个数据段,名字为RESET,可读,并声明__Vectors、__Vectors_End和__Vectors_Size这3个标号具有全局属 ...
3. 向量表
PRESERVE8:指定当前文件的堆栈按照8字节对齐。 THUMB:表示后面指令兼容THUMB指令。 THUBM是ARM以前的指 ...
开辟堆的大小为0x00000200(512字节),名字为HEAP,NOINIT即不初始化,可读可写,8(2^3)字节对齐。__he ...
2. 堆区域
AREA:告诉汇编器汇编一个新的代码段或者数据段。 STACK表示段名,这个可以任意命名;NOINIT表示不初始化 ...
前一页
5
6
7
8
9
10
11
后一页
2
3
近期访客