Air32F103学习笔记-1.建立工程

关注到合宙的芯片和开发板价格挺美丽的,由于最近在学STM32F103,想试试自己画个板子用合宙的Air32f103效果咋样。

合宙Air32F103系列和STM32F103系列对比: 

区别

STM32F103C6T6

STM32F103C8T6

AIR32F103CBT6

AIR32F103CCT6

Flash

32K

64K

128K

256K

RAM

10K

20K

96K

96K

主频

72M

72M

256M

256M

定时器

3个(没有定时器4)

4个

10个

10个

ADC

2(10通道)

2(10通道)

3(16通道)

3(16通道)

DAC

2(2通道)

2(2通道)

Air32F103Cx两个在X宝都是3.8RMB一片还包邮。。。一样的价格我买大的好了。

买了两片支持下,包装还挺好,有个小盒子

一. 资料汇总

合宙Air32F103芯片资料总览:

合宙官方资料地址:   🚲 Air32F103 - LuatOS 文档icon-default.png?t=N7T8https://wiki.luatos.com/chips/air32f103/index.html

合宙Air32F103芯片数据手册: https://cdn.openluat-luatcommunity.openluat.com/attachment/20230326193134901_AIR32F103xxxx%E8%8A%AF%E7%89%87%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C.pdficon-default.png?t=N7T8https://cdn.openluat-luatcommunity.openluat.com/attachment/20230326193134901_AIR32F103xxxx%E8%8A%AF%E7%89%87%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C.pdf

合宙Air32F103芯片寄存器手册:

https://cdn.openluat-luatcommunity.openluat.com/attachment/20230907152950811_Air32F103xx_User_Manual_CN-%E5%B8%A6%E7%9B%AE%E5%BD%95%E4%B9%A6%E7%AD%BE.pdficon-default.png?t=N7T8https://cdn.openluat-luatcommunity.openluat.com/attachment/20230907152950811_Air32F103xx_User_Manual_CN-%E5%B8%A6%E7%9B%AE%E5%BD%95%E4%B9%A6%E7%AD%BE.pdf

合宙Air32F103芯片 SDK和示例程序:

luatos-soc-air32f103: Air32f103_Firmware_Libraryicon-default.png?t=N7T8https://gitee.com/openLuat/luatos-soc-air32f103

二. 硬件准备

1. 合宙Air32F103开发板,可买9.9包邮的,也可自己搞。我照着合宙提供的原理图去嘉立创打了板自己搞了个。建议大家还是买现成的吧。

我技术不过关,焊好后死活连不上ST-LINK,一测电压,地的电压3.3。。。发现引脚连锡了,这个芯片还挺耐艹的,被我一顿折腾还没坏。

这里还有个坑,用ST-LINK Utility和Keil都显示 connection error,我又找不到问题原因。后来看了B站有个视频讲解才明白,第一次连接时,要先按住Reset键,再点Connection,然后就能读取到flash了。

如果你是买的官方现成的开发板应该不会有这个问题。

看到Flash读出的数据时,我TM哭的心都有了。世上还是好人多::>_<::

视频链接在这里,比网上千篇一律,复制黏贴后的答案强百倍。

stm32无法下载程序故障处理方法_哔哩哔哩_bilibiliNo target conectedinvalid rom table两种故障处理方法, 视频播放量 557、弹幕量 0、点赞数 24、投硬币枚数 10、收藏人数 14、转发人数 0, 视频作者 18655531986, 作者简介 ,相关视频:基于STM32单片机蓝牙温湿度采集控制毕业设计,江科大STM32结课设计,基于三块STM32F103C8TC6的扫地机器人(点赞过3000开源代码!出接线视频!!),一个基于stm32的简易小游戏机,【开源】基于STM32G4的小电流FOC驱动,【自制】低成本STM32F103C8T6开发板,今年嵌入式行情这么差吗?学了三年至今无面 ?,[自制]基于STM32的自动换笔写字机,基于u8g2库的丝滑菜单+FreeRTOS平衡小车,c8t6要顶不住了,【2023版】最新VMware虚拟机下载安装激活教程,一键安装,永久免费!VMware虚拟机安装教程,VMware17密钥【附安装包、密钥】,PS下载安装免费2023 (PS下载安装教程)icon-default.png?t=N7T8https://www.bilibili.com/video/BV1q94y1q7vy/?spm_id_from=333.337.search-card.all.click

2. ST-LINK V2

10块那种,金属的

三. 环境搭建

可参考合宙官方的教程,跟着步骤来就行

Air32F103使用手册 - LuatOS 文档icon-default.png?t=N7T8https://wiki.luatos.com/chips/air32f103/Air32f103.html

但是,和我熟悉的STM32搭建方式不一样,我想用原先的方式搭建:下载SDK,自己创建工程

1.先把SDK都下载下来,链接在第一部分。

SDK里有两个文件夹用得到:

Libraries: 包含Air32F103外设库文件,M3库文件,启动文件

ModuleDemo: 示例程序。因为官方推荐了安装DFP Pack安装包的方式开发,所以示例程序中少了很多库。

安装官方的DFP,这一步是为了后续建立Keil工程时,选器件或者添加支持文件。

双击,下一步,默认即可

2.然后自己建一个文件夹作为工程模板,里面包含3个文件夹:

AirLib:用来放外设库的所有.c和.h文件

CMSIS:放所有和M3内核相关的文件,以及启动文件

USER:放自己的程序,例如main.c

后续会建1个System的文件夹用于放SysTick系统嘀嗒延时程序

后面有硬件驱动再建一个FWLib文件夹

创建工程文件起手就三步:1. 外设 2. 内核 3.自己的程序main.c

3.开始CV文件:

1. 将外设相关库文件全部复制到AirLib中:inc和src里的文件全部复制进AirLib中即可。

lib先不管,我也没看懂这是干嘛的。。。

2.1 将合宙CMSIS/inc 里的文件全部复制到 自己的CMSIS中

2.2 将合宙luatos-soc-air32f103-master\Libraries\STARTUP\arm里的启动文件也复制到自己的CMSIS里。

3. 在USER里创建1个main.c

完事大吉,抽根烟歇会


复制完后,我发现有两个问题:

1. 合宙给的SDK里只有core.cm3.h没有core_cm3.c

2. SDK里没有air32f10x_it.c , air32f10x_it.h ,air32f10x_conf.h

第一个问题,我发现STM32的标准库里是有的,我们看所有人的教程都是会复制这个文件到自己的工程中,合宙没给会不会出问题?

百度后发现,这个是ST自己的文件,arm官方的文件里也并没有这个文件。并且STM32中删除这个文件,也能正常编译。

第二个问题,我不明白,但是我发现在合宙自身的示例程序中即ModuleDemo中是有的,咱受累从里面复制到自己的CMSIS文件中好了。

下面就到了喜闻乐见的创建Keil工程的过程了:

1. 先打开Keil,创建1个工程,

文件名咱就叫 1.1Air32F103_Template,保存在刚刚的主文件夹下。

2. 选择器件,咱选Generic,AIR32F1 系列,AIR32F103CB或CC(看你买的是哪个,选错了问题也不大,Flash起始地址都是一样的)

下一步选支持文件,根据官方的步骤,是要选这些的,但是我们刚刚自己都搞好了,所以这里点Cancel

剩下的小伙伴们应该都熟练了,会搞得略过

1. keil里建3个文件夹对应我们刚刚建好的,AirLib, CMSIS, USER,然后把文件夹里的文件都加进去

2. 点魔术棒设置输出hex文件,包含宏定义,以及添加支持文件路径

3. 包含宏定义  USE_STDPERIPH_DRIVER

加这个干啥?

因为我们在main.c中一定会包含一个寄存器头文件air32f103.h是吧

当我们后续想要用Air32的

4. 包含编译文件路径,这个应该是Makefile要用的

5. 点击Debug,选个调试工具,用啥选啥。我用ST-LINK

如果你用的和我一样,是那种长得像个金属优盘一样的ST-LINK,Port记得要选SWD,4根线就能搞定,不要太方便。不改的话会显示Unknown target connected

点OK,保存设置。

编译发现大量错误。。。百度后发现需要把Stric ANSI C去掉。

成功,撒花~~~

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值