Gcc 环境下 stm32 开发笔记
最近在移植公司的系统到 stm32 中,发现该系统使用的是 gcc 开发的,可是一
般情况下 stm32 都是在集成环境下开发的,这时候就有很多以前集成开发环境做的事
情需要我们自己编写 makefile ,链接器脚本和启动代码。
由于公司的启动代码部分是采用 C 语言编写的,但是我不喜欢 C 的启动代码,
所以我查阅了相关资料,把 keil 里面自带的启动代码,经过转换,转化成在 gcc 下可
以用的启动代码,本文中所有的代码经过编译,运行成功的,最后在 C 环境下点亮
LED 等来显示效果,需要完成这些功能至少需要以下几个文件 Start.s main.c
system_stm32f10x.c stm32f10x_rcc.c stm32f10x_gpio.c,以及 st 标准库的所有头文
件以防编译出错。
Gcc 开发最主要的要完成 3 个步骤,搭建起 C 语言的编程环境,其他的任何平
台都是一样的。这 3 个步骤分别是,编写链接脚本,编写 Makefile ,编写启动代码,
这些完成了之后,以后的开发工作就都是一样的了。
闲话不说,首先我们把链接脚本贴上来。
/*宏定义处理器架构为 arm*/
OUTPUT_ARCH(arm)
/*定义入口函数*/
ENTRY(Reset_Handler)
/*定义内存组织结构*/
MEMORY
{
}
/*定义代码段*/
SECTIONS
{
/*代码最开头部分是中断向量表*/
/*我用的芯片是 stm32f103 内存 32K Flash 512K*/
RAM(xrw) : ORIGIN = 0x20000000,LENGTH = 32K
FLASH(rx): ORIGIN = 0x08000000,LENGTH = 512K
评论0
最新资源