Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
国产MCU移植
HC32L13x
华大_小华单片机HC32
【国产MCU移植】HC32L136
发布于 2021-08-21 13:36:35 浏览:4693
订阅该版
 拿到这个板子,首先肯定是去看看RT-THREAD是否已经包含这个BSP了,答案:没有这个HC32L13X系列的BSP。那必须把他移植个RTT,然后PR一个BSP上去才行。 移植M系列的BSP还是比较简单的,我主要分为5个步骤: 1、环境搭建 2、BSP基础工程 3、GPIO驱动 4、串口驱动 5、完成BSP总结 **环境搭建** 编程器,板载有CMSIS-DAP,也可以使用JLINK进行下载调试。 集成开发环境,安装KEIL5,IAR。 串口助手使用的是SecureCRT。 **BSP基础工程** 其实移植RT-THREAD到一些比较通用的内核还是比较方便的,因为可以投机取巧。那接下来告诉你怎么投机取巧移植RT-Thread到国产MCU。 本文只适配KEIL5的环境,GCC、KEIL4和IAR环境不做讲解。 基础模板:首先看看RT-Thread代码仓库中已有的BSP已存在华大的芯片hc32f4a0。而我要移植的是HC32L136,Cortex-M0内核。拷贝hc32f4a0工程,这样就有一个基础的工程。然后就开始增删改查,完成最终的BSP。  修改board文件夹下的board.c,board.h,将主频修改为24MHz。参考https://gitee.com/windtsang163/hc32l136_rtt_nano.git。   修改board/Kconfig文件,修改内容如下图。修改成对应的SOC名字,所以去除不相关的配置。  链接脚本:修改KEIL5的连接脚本,flash大小为64K,SRAM大小为8K。所以要进行修改。其实这一步不修改也是可以的,可以在KEIL中设置,修改内容如下图:  修改库: 1、下载HC32L130_SDK。 2、删除BSP的Libraries目录下除了SConscript文件的其他内容 3、Bsp的Libraries目录下,增加HC32L136_StdPeriph_Driver目录,将HC32L130_SDK/drivers的文件拷贝到HC32L136_StdPeriph_Drive目录下。 4、将SDK中的启动文件startup_hc32l136.s,IAR和MDK两个版本的文件拷贝分别拷贝到 HC32L136_StdPeriph_Drive/CMSIS/Device/HDSC/HC32L136/Source/ARM/startup_hc32l136.S, HC32L136_StdPeriph_Drive/CMSIS/Device/HDSC/HC32L136/Source/IAR/startup_hc32l136.S 修改Libraries中SConscript文件。修改内容如下:  修改驱动文件夹,保留如下文件,如何修改驱动,稍后再讲,假定现在都已编写完成。  修改KEIL的模板工程。双击:template.uvprojx,如下图:    修改驱动文件夹下的脚本SConscript  修改bsp目录下的rtconfig.py文件,将m4替换为m0,将HC32F460替换为HC32L136。  menuconfig配置,关闭文件系统,将main和shell的任务堆栈改为512。    生成mdk工程,scons --target=mdk5  **PIN驱动** 为了跟其他rt--thread工程一样用统一的方法控制GPIO,移植PIN功能很有必要。关键是要实现好IO port和pin的映射关系,中断的映射关系。  **串口驱动** 一个基本的BSP中,串口是必不可少的,所以还需要编写串口驱动 在hc32l136中有两组驱动:UART0和UART1,lpuart暂时没有实现。由于改芯片的驱动没有人实现过,我们需要自己去实现,参考其他bsp的例子,只能慢慢磨了。  **完成BSP总结** 关于RT-THREAD的移植还是比较方便的,主要是复杂地方官方都已经做好了,如调度器。Gpio和Uart驱动这块,由于没有写好的例子,所以要自己花一些例子实现了。所以也难免会存在bug,希望大家多多谅解。 关于华大这款芯片,修改了库函数的Uart_SendData。测试中发现,如果在console中疯狂按下Tab键,会卡死在while(FALSE == Uart_GetStatus(u8Idx,UartTC))。所以将库函数做了修改。  
6
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
ching
这家伙很懒,什么也没写!
文章
1
回答
122
被采纳
8
关注TA
发私信
相关文章
1
华大的芯片移植rt-thread nano,怎么配置uart控制台与finsh
2
Studio何时能支持其他国产IC
3
华大芯片如何在rt-thread系统下使用休眠功能
4
华大HC32F460 USB console
5
华大单片机HC32L36 bsp制作
6
HC32F460+rt-thread不能在线仿真
7
什么时候能支持华大F460等芯片
8
RT-thread studio 何时支持华大选项
9
HC32F460使用scons编译不能运行
10
什么时候增加华大MCU支持
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
rt-smart
RTC
FAL
I2C_IIC
cubemx
ESP8266
UART
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
GD32
定时器
ADC
flashDB
编译报错
socket
中断
rt_mq_消息队列_msg_queue
keil_MDK
Debug
SFUD
ulog
msh
C++_cpp
MicroPython
本月问答贡献
出出啊
1522
个答案
343
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
815
个答案
179
次被采纳
crystal266
555
个答案
162
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
1
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
1
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部