切换到宽版
  • 6606阅读
  • 35回复

ARDUINO FOR STM32F1/4 (HALMX构架)正式发布 [复制链接]

上一主题 下一主题
离线huaweiwx
 

发帖
1025
M币
6608
专家
37
粉丝
168
只看楼主 倒序阅读 使用道具 楼主  发表于: 2016-12-14
ARDUINO FOR STM32F401CCU6 (HALMX构架)测试版发布 以来一晃又过了几个月,正式版本来早就可以发布了,只是想多增加一些功能,支持更多的芯片,尤其是halmx 对
gd32的支持,竟然耗费了我几个月的时间,说来也是三波五折(比一波三折多了数倍的反复挫折);
首先halmx根本不支持GD芯片,通过常规修改StdPeriphLib几个函数的方法,在halmx构架下失灵了,因为halmx下很多和时钟有关的设定时钟、获取当前时钟、计算波特率等均通过了几层宏定义,再有每个函数入口对参数的检查更加严格,而且针对F1系列,手册也没有详细说明,文档也少,难怪网上很多用户反应,尤其是像usbcdc和串口等一旦通不过,难于找到问题所在。
有几次在HSE72m主频下通过了,但调通120M主频又要经过好几天,在转到HSI模式下又要走一遍;有时这里改好了,那里又不行了。
改好了GD32F1发现STM32F1又有问题,不知修改了多少编终于大差不差形成今天的样子, 先做个简单的介绍:
1 界面:


2 顺便把我以前发布过的使用maple库支持芯片和支持AVR M64/128等一并公开发布,支持以下芯片:


在hal构架下,支持这些芯片:
STM/GD32F103Cxx
STM/GD32F103Rxx
STM32F401Cxx
STM32F401Rxx
STM32F407Rxx
STM32F407Ixx
STM32F746Ixx
对于F4系列,支持串口下载和usbdfu下载;
基于maple lib构架下支持以下F1芯片:
GD/STM32F103C  103R 103V 103Z

对于ATAVR 从ATTiny13 26 m8 m16 m32 m64 m128  m644 m1284 ATXmega,稍加修改几何支持ATmel全系列芯片;

3 对于每种芯片还细分不同板子(variant):


4 对于STM/GD 可选择内部RCC或外部晶振,可选择标准主频或超频运行:


主频选择



5 测试板 example 现在支持F1 和F4 所以更名为 Example_HAL


现名称:



6  开发调试: 当我们在首先项->编译器警告:选择“全部”时,执行代码就会包含参数错误所在的文件和行号,从Serial1 输出,这对我们调用系统函数时的错误参数快速定位,当然执行文件也会大许多:



7 其他新功能特色:
1 像我们在pc机上使用C++编程对输入输出可以用“流”,现在全系列均加上了这个功能:
Serial1<<"Hello MYDIGIT "<<count++ <<" sec\n";
这就是第一张图(example 中的例子),每秒钟输出一个:Hello xxx sec  信息并换行,其中xxx是开机的秒数;这多简单?(其中还有几种数据格式转换函数(宏),详见 stream_all示例;

8 包下载:在我的网盘里有两个包:
arduino1611(ALL).zip   这是包含 arduino版本 1.6.11 系统的全部文件;
arduino1611(ADD).zip 这是不包含 arduino版本 1.6.11 系统的全部文件;这对于下载过我以前版本的朋友或已安装了arduino1.6.11的朋友,可只下载这个补充包,解压后拷贝到相应的位置即可,建议拷贝时先将原版本做个备份!
9   下载 链接:https://pan.baidu.com/s/1mihgikK 密码:4i9o  共享15天;
其实这就是上次的共享密码,本想15天就更新成正式版本,没想到竟然过了3个月,因为一直没有发布正版所以也没有取消共享。

有关使用教程和手册,只能慢慢补充;
里面还附了个 超值库:包中还有一个StdPeriphLib,对于想在hal下使用基于 StdPeriphLib的代码,这肯定有用;以后会详细介绍
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共14条打赏M币+42
guigle M币 +3 - 01-01
mrlgs M币 +3 優秀文章 2016-12-19
cao57508 M币 +3 终于等到了,我的眼睛现在还不能做实验,过几天再说 2016-12-18
jpdd521 M币 +3 终于盼出来了正式版,huawei老哥辛苦了! 2016-12-16
信徒1102 M币 +3 優秀文章 2016-12-16
ynymwtb M币 +3 我的开发板还没有焊好,发贴记录 2016-12-15
hongo M币 +3 用STM32性能会好很多把 2016-12-15
wonx M币 +3 虽然不会玩,但是必须支持。 2016-12-15
af5498 M币 +3 支持,好东西,必须支持。 2016-12-14
搅搅震 M币 +3 虽然不会玩,但是必须支持。 2016-12-14
12
在线965039114

发帖
4817
M币
16353
专家
22
粉丝
258
只看该作者 1楼 发表于: 2016-12-14
感觉arduino编译器很简单
本帖最近打赏记录:共2条打赏M币+6
mousebat04 M币 +3 歡迎探討 2016-12-14
huaweiwx M币 +3 用起来很简单的。写上代码,下载就完成了。 2016-12-14
离线oscillator

发帖
3868
M币
1105
专家
23
粉丝
106
只看该作者 2楼 发表于: 2016-12-14
这么好的项目还用什么百度网盘,直接上传github不就完了,还不怕过期
本帖最近打赏记录:共3条打赏M币+9
mousebat04 M币 +3 我很贊同 2016-12-14
huaweiwx M币 +3 本想上传GITHUB, 但一直无法搞定。 2016-12-14
2545889167 M币 +3 - 2016-12-14
离线huaweiwx

发帖
1025
M币
6608
专家
37
粉丝
168
只看该作者 3楼 发表于: 2016-12-14
回 965039114 的帖子
965039114:感觉arduino编译器很简单 (2016-12-14 22:02) 回 965039114 的帖子

是把大部分功能都封装好,或提供库,让使用者用起来更方便,跨平台可移植通用,系统还是有点复杂的。
本帖最近打赏记录:共1条打赏M币+3
965039114 M币 +3 确实挺麻烦的 2016-12-14
离线2545889167

发帖
11067
M币
26837
专家
120
粉丝
4344
只看该作者 4楼 发表于: 2016-12-14
支持,好东西
本帖最近打赏记录:共3条打赏M币+9
cao57508 M币 +3 精彩回帖 2016-12-18
mousebat04 M币 +3 - 2016-12-14
huaweiwx M币 +3 - 2016-12-14
离线mousebat04

发帖
13189
M币
5389
专家
8
粉丝
64
只看该作者 5楼 发表于: 2016-12-14
虽然不会玩,但是必须支持。
本帖最近打赏记录:共3条打赏M币+9
cao57508 M币 +3 精彩回帖 2016-12-18
huaweiwx M币 +3 - 2016-12-14
2545889167 M币 +3 - 2016-12-14
离线2545889167

发帖
11067
M币
26837
专家
120
粉丝
4344
只看该作者 6楼 发表于: 2016-12-14
请问下,对定时器,中断,DMA,USB的方面的支持使用方便么?
本帖最近打赏记录:共1条打赏M币+3
huaweiwx M币 +3 例程代码或bsp或中间间可以很方便的挂上。也可以用cubemx生成构架 2016-12-14
离线huaweiwx

发帖
1025
M币
6608
专家
37
粉丝
168
只看该作者 7楼 发表于: 2016-12-14
回 oscillator 的帖子
oscillator:这么好的项目还用什么百度网盘,直接上传github不就完了,还不怕过期 (2016-12-14 22:07) 回 oscillator 的帖子

我在上面注册了,也下载了GitHubSetup.exe,但就是无法安装,再说英文也不好,找不到 在github上共享的教程。
离线huaweiwx

发帖
1025
M币
6608
专家
37
粉丝
168
只看该作者 8楼 发表于: 2016-12-14
回 mousebat04 的帖子
mousebat04:虽然不会玩,但是必须支持。 (2016-12-14 22:13) 回 mousebat04 的帖子

对arduino标准函数,已经支持,其他要单独写代码或直接用例程代码(hal 和标准库都可以),我其中有个stdprepthlib 就是我将stm32f407RET6 (正点原子)代码挂上去的。
如 stdprepthlib 就通过这个库挂上去,如是hal代码,就直接写在 对于的variant中;
本帖最近打赏记录:共1条打赏M币+3
mousebat04 M币 +3 主要问题在于我对arduino标准函数的无知。。我好像没救了。。。。【苦笑】 2016-12-14
离线huaweiwx

发帖
1025
M币
6608
专家
37
粉丝
168
只看该作者 9楼 发表于: 2016-12-14
回 2545889167 的帖子
2545889167:请问下,对定时器,中断,DMA,USB的方面的支持使用方便么? (2016-12-14 22:13) 回 2545889167 的帖子

对arduino标准函数,已经支持,其他要单独写代码或直接用例程代码(hal 和标准库都可以),我其中有个stdprepthlib 就是我将stm32f407RET6 (正点原子)代码挂上去的。
如 stdprepthlib 就通过这个库挂上去,如是hal代码,就直接写在 对于的variant中;
快速回复
限80 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个