C语言 裸板 GPIO 操作终极总结

1、汇编:初始化 堆栈 SP指针 DDR 中断向量表等 。_start 程序的入口地址,完成C环境的搭建。

启动文件  startup_stm32f10x_hd.s 这个汇编文件就是完成 C 语言环境搭建的,当然还有一
些其他的处理,比如  中断向量表  等等。

2、用C完成我们业务层的代码。

startup_stm32f10x_hd.s C 语言环境初始化完成以后 就会进入 C 语言环境。设置处理器进入 SVC 模式,在 6.2 小节的“Cortex-A 处理器运行模型”中 我们说过 Cortex-A 有九个运行模型,这里我们设置处理器运行在 SVC 模式下。处理器模式的 设置是通过修改 CPSR(程序状态)寄存器来完成的。

I.MX6U-ALPHA 开 发 板 上 的 DDR3 地 址 范 围 是 0X80000000~0XA0000000(512MB) 或 者
0X80000000~0X90000000(256MB) ,不管是 512MB 版本还是 256MB 版本的,其 DDR3 起始地
址都是 0X80000000 。由于 Cortex-A7 的堆栈是向下增长的,所以将 SP 指针设置 0X80200000
因此 SVC 模式的栈大小 0X80200000-0X80000000=0X200000=2MB 2MB 的栈空间已经很大了 , 如果做裸机开发的话绰绰有余。
SDRAM 或者 DDR 之前必须先初始化 SDRAM 或者 DDR。 DCD 数据包含了 DDR 配置
参数, I.MX6U 内部的 Boot ROM 会读取 DCD 数据中的 DDR 配置参数然 后完成 DDR 初始化
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦幽风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值