OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4336|回复: 7

IOT Board Plus (为潘多拉开发板换“芯”)

[复制链接]

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2018-7-27
在线时间
11 小时
发表于 2019-6-27 20:04:27 | 显示全部楼层 |阅读模式
本帖最后由 水清沙白 于 2019-6-27 20:04 编辑

IOT Board Plus (为潘多拉开发板换“芯”)

IoT Board 开发板,俗称潘多拉,是 RT-Thread 联合正点原子推出的一块多功能的 IOT 板卡,并提供丰富的例程和资源。东西是好,可是内部资源在运行了综合例程或者一些复杂的应用后,捉襟见肘。这样的情况遇到好几次,可谓是“苦秦久矣”,因此产生出换个资源大一点的 CPU 的想法。下面记录下过程。

步骤

因为 STM32L496VG 的引脚、时钟都和 L475 一致,但 Flash 有 1M,RAM 320K,是一个比较合适的选择,所以决定使用 STM32L496VG 。
  • 更换新的 CPU

首先在 X 宝的 ST 旗舰店购买了两块 STM32L496VG 的芯片,差不多 50 大洋一块。之所以买两块,是对自己的焊工没有信心,多一块备用。

更换过程是小伙伴帮忙的,分分钟就搞定,干净利落,下面是更换后的靓照:

板子.jpg

  • 修改工程默认的芯片型号

打开 RT-Thread_IoT_SDK\examples\01_basic_led_blink 路径下的 project.uvprojx 工程文件,修改芯片型号为 STM32L496VGTx,如下图所示:

配置工程.png

  • 修改启动文件

移除 STM32L4xx_HAL_Driver 分组下 L475 的启动文件,并添加 L496 的启动文件 startup_stm32l475xx.s,如下图。那么,问题来了,496 的启动文件哪里找?很简单,其实跟 475 的启动文件在同一级目录下————RT-Thread_IoT_SDK\libraries\CMSIS\Device\ST\STM32L4xx\Source\Templates\arm,默认的 GCC、KEIL、IAR的分部都有。

这点让我严重怀疑,是不是他们早就发现资源不够用了,悄悄咪咪的更换了 L496 的芯片,不告诉我们!!!


修改启动文件.png

  • 修改全局芯片的宏定义

完成上述两个步骤,还需要改一下工程里芯片的定义,如下图所示。默认是 L475 的信号,修改为 STM32L496xx,这点对熟悉 STM32 的人来说,应该都不陌生。

添加宏定义.png

  • 编译和运行

完成上面步骤,直接编译:0 Error(s), 0 Warning(s);然后下载,连上串口,一气呵成。

程序顺利运行,红色 LED 开始闪烁,打开串口,会打印下面的信息:

  1. \ | /
  2. - RT -     Thread Operating System
  3. / | \     4.0.1 build Jun 25 2019
  4. 2006 - 2019 Copyright by rt-thread team
  5. [D/main] led on, count: 1
  6. msh >[D/main] led off
  7. [D/main] led on, count: 2
  8. [D/main] led off
  9. [D/main] led on, count: 3
  10. [D/main] led off
  11. [D/main] led on, count: 4
  12. [D/main] led off
  13. [D/main] led on, count: 5
  14. [D/main] led off
  15. [D/main] led on, count: 6
  16. [D/main] led off
复制代码
  • 修改 RAM 大小

此时,虽然程序运行了,但是可用的动态内存并没有变,因为 RAM 大小使用的还是旧的 L475 的配置。打开 board.h 头文件,修改第 26 行 STM32_SRAM_SIZE 大小为 320,如下,再次编译下载,动态内存已经是预期的 320K 了。

  1. #define STM32_SRAM_END          &__ICFEDIT_region_IRAM1_end__
  2. #else
  3. #define STM32_SRAM_SIZE         320
  4. #define STM32_SRAM_END          (0x20000000 + STM32_SRAM_SIZE * 1024)
  5. #endif
复制代码
后记

IOT Board 的 SDK 集成度比较高,L496 和 L475 的时钟、外设等一致,换芯片几乎没有什么软件的成本,但是更大的资源就可以意味着可以随意祸祸,玩点高难度的。上面的步骤直接在工程里改,好处是简单直观,一看就懂,但是弊端是过程略显粗暴,每次重新生成工程后配置会被还原,优雅的做法还是应该修改模板文件以及工程的 SConscript 脚本。




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

27

主题

427

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
4370
金钱
4370
注册时间
2017-5-30
在线时间
579 小时
发表于 2019-6-27 23:08:56 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2016-7-28
在线时间
17 小时
发表于 2019-6-28 09:27:03 | 显示全部楼层
芯片看不清楚呀~来张高清图呗
Armink‘s Github: https://github.com/armink
回复 支持 反对

使用道具 举报

10

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
191
金钱
191
注册时间
2018-7-23
在线时间
23 小时
发表于 2019-6-28 09:49:54 | 显示全部楼层
例程都跑起来试试
回复 支持 反对

使用道具 举报

0

主题

126

帖子

0

精华

高级会员

Rank: 4

积分
502
金钱
502
注册时间
2016-11-28
在线时间
97 小时
发表于 2019-6-28 10:06:23 | 显示全部楼层
第一次在原子哥论坛离armink大神这么近啊。
L系列单片机以低功耗见长,潘多拉开发板的例程没有针对L系列在这方面下功夫,
说白了,就是实际项目中,低功耗开发没得抄,还是得自己一个个啃寄存器
回复 支持 反对

使用道具 举报

0

主题

143

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2019-5-30
在线时间
4 小时
发表于 2019-6-28 14:04:58 | 显示全部楼层
谢谢分享!
回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2016-7-28
在线时间
17 小时
发表于 2019-6-29 14:57:44 | 显示全部楼层
leiyitan 发表于 2019-6-28 10:06
第一次在原子哥论坛离armink大神这么近啊。
L系列单片机以低功耗见长,潘多拉开发板的例程没有针对L系列在 ...

近期潘多拉上的低功耗例程也会有所更新,适配 PM 最新框架,有兴趣的话可以关注下哈
Armink‘s Github: https://github.com/armink
回复 支持 反对

使用道具 举报

0

主题

126

帖子

0

精华

高级会员

Rank: 4

积分
502
金钱
502
注册时间
2016-11-28
在线时间
97 小时
发表于 2019-7-1 08:17:46 | 显示全部楼层
消费电子市场,包括苹果等超级大客户的产品:苹果无线耳机都使用了L4处理器。L系列超低功耗产品应该比什么F7,H7市场量要大。但是各个开发板论坛却都一致的大搞F7,H7开发板,发布例程啊,L系列单片机在本论坛连个独立的分区都没有。手头一些使用电池便携设备开发项目都是用的L处理器,硬件和软件都针对低功耗应用优化。,RT系统很优秀,和原子合作的潘多拉开发板使用L4处理器眼光独到,例程也很受用!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-15 04:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表