使用C语言(四)
来源:互联网 发布:max守望先锋数据不更新 编辑:程序博客网 时间:2024/06/05 08:33
从汇编跳入C语言,我们需要设置一下堆栈,才能正常使用。
除此之外,硬件上还有一些东西需要初始化一下。
1.关闭看门狗
2.初始化时钟
3.初始化内存
然后才是初始化堆栈。
我们设置为Nand启动,开机会把前4k拷贝到片内内存SRAM中运行。
如果是NOR启动,直接就在Nor上运行了,NOR不太清楚原理就先放弃。
那么我们
1.关闭看门狗,默认居然是开的
2.时钟启动的时候是40M,我们先不管他了
3.据说SDRAM不需要初始化,SRAM应该也不需要我们做什么吧
4.初始化堆栈
├── c_led
│ ├── led_on_c.c
│ └── Makefile
├── startc.S
.text
.global _start
_start:
//1.关闭看门狗
ldr r0,=0x53000000
mov r1,#0x0
str r1,[r0]
//2.初始化时钟
//3.初始化SDRAM
//4.给C程序准备堆栈
ldr sp,=1024*4
//跳入C main()
bl main
HALT:
b HALT
Makefile:
#define GPBCON (*(volatile unsigned long *)0x56000050)
#define GPBDAT (*(volatile unsigned long *)0x56000054)
int main()
{
GPBCON = 0x00000100; // 设置GPB4为输出口, 位[8:7]=0b01
GPBDAT = 0x00000000; // GPB4输出0,LED1点亮
return 0;
}
0 0
- 使用C语言(四)
- C语言使用注意事项(四)
- 使用C语言扩展Python(四)
- C语言使用注意事项(四)
- C语言(四)
- C语言库函数四
- C语言 基础(四)
- C语言总结(四)
- C语言复习(四)
- C语言习题四
- Android下使用C语言的四种编译方式
- 神奇的C语言四:typedef的使用
- Android下使用C语言的四种编译方式
- C语言库函数(四)
- [C语言学习]作业四
- C 语言之四 编译器
- c语言学习笔记四
- c语言经典实例四
- HDU_4979_ASimpleMathProblem.(DancingLinksX重复覆盖)
- poj 1696(极角排序)
- 06广东省赛(B)规律
- dfs z走迷宫
- Object-c------重写构造方法
- 使用C语言(四)
- hdu 5443 The Water Problem(求区间最值+ST表)
- 用非正常的算法求平均值,然并卵
- Volatile变量
- online_judge_1209
- linux下的top命令参数说明 (virt,res,shr,data 的意义)
- 二叉树主要知识点总结
- Handler机制
- c++第四次上机作业