stm32.cube(七)——arm-gcc.helloworld

一、前言

对与MDK-ARM(keil),EWARM(IAR)和TureSTUDIO(Atollic)这三个ARM常用IDE工具,在cube包里都有对应的例子。

而对于arm-gcc,cube里只提供了例程的源码。由于需要自己写Makefile,因此比起各种IDE来说,配置的复杂度要更高一点。

二、cube.gcc项目建立过程

2.1 移植代码

根据实际应用,拷贝需要用到的HAL、BSP、CMSIS、middleware、RTOS代码到工程文件夹。

比如一个项目用到了触屏,就从middleware目录下拷贝STemWin。

用到的芯片peripheral,就从HAL目录下拷贝相应的hal_xxx_xxx.c和hal_xxx_xxx.h。

建立一个APP文件夹,用来存放我们自己编写的应用层代码。最好先写个简单的测试函数,因为没有main函数就无法编译出Flash固件。

2.2 修改配置文件

HAL层和middleware目录下都有一个xxx_conf_template.h文件。把它修改成xxx_conf.h就是该模块的默认配置文件。然后需要再对它进行编辑,设置每个模块的配置。

2.3 startup.s和hal层初始化

cube包里有针对不同的芯片的startup.s和flash.ld。系统上电后执行的就是startup.s编译后的指令,它会初始化中断向量表、系统时钟和栈指针,然后跳转到main函数。

flash.ld用来标识flash和ram的地址映射和ram,还有各分段的链接地址。这些都在CMSIS目录下,需要添加到新的工程里。

在main函数里&#x

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值