Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
clion
macOS
[24嵌入式设计大赛]基于hpm5300evk开发板,在mac电脑版clion环境上实现pwm呼吸灯
发布于 2024-09-18 00:36:35 浏览:211
订阅该版
[tocm] # hpm5300基于mac进行环境开发并实现pwm呼吸灯控制 ## 基于mac版clion的开发环境搭建 ### 获取源码 获取需要版本的rt-thread[源码](https://github.com/RT-Thread/rt-thread),也有gitee版本国内更好下载。 ### 生成项目模版 在rt-thread 源码项目中的bsp文件夹中,有rt-thread支持的所有板子与芯片,例如使用`hpm5300evk`开发板,则在`bsp/hpmmicro/hpm5300evk`文件夹中。 在bsp中特定的文件项目中,都可以使用`scons --dist`来生成模板项目,在文件夹下的dist文件夹中。当然这些还只能算是项目生成的模板,还需要使用scons进一步来生成具体的不同环境可用的项目。 ### 生成cmake项目工程 rt-thread支持很多的工程项目生成,例如iar,keil等,同时rt-thread在4.1.0版本中还支持了生成cmake文件(若需使用4.1.0之前的版本也可以使用4.1.0生成项目后借用项目文件来移植旧版本rt-thread)。 在模板项目目录下,输入`scons --target=cmake`,即可生成cmake项目了。 但是,常规情况下都会报错,因为模版项目中还有很多配置都与本地环境不适配,所以还需要改很多的配置。 #### 修改模版配置 - 首先需要修改`RTT_EXEC_PATH`,这个参数主要在`rtconfig.py`文件中,稍微看一下源码可知主要的参数以环境变量形式获取。但是很奇怪的在于似乎环境变量设置不生效。因此直接修改`rtconfig.py`中的`EXEC_PATH`。在代码中不难看出这两个最后是一个东西。 然后还是不够,需要将源代码中的bsp/hpmmicro/libraries拷贝到项目下,会用到libraries中的`hpm_sdk`,这个`hpm_sdk`与先辑提供的不一样,rtthread提供的sdk中有scons相关的各种文件,可以更方便的利用来生成各种环境的项目。当然也可以直接用`ln`命令链接到此处以避免这份文件多处存在占用空间。 ### 完成 然后就可以使用`scons --target=cmake`来生成CMakeList.txt了。至此,项目初始化完成。 ## 进行pwm的系统配置 ### 安装scons 苹果电脑可以直接使用`brew install scons`来安装scons,之后需要安装env环境,env命令中所有的命令均为执行python脚本,因此请提前保证python环境可用。 ### 安装env环境 参考官方仓库:`https://github.com/RT-Thread/env`,虽然在官方仓库的readme中未写明可以在mac上安装,但是如果浏览源码不难发现,其实项目中有一个`install_macos.sh`文件,通过这个文件可以对env环境进行正确安装。但是其实不难发现,在这个脚本文件中,其实仅仅是将安装依赖的方式替换为了brew。 ### env环境更新 浏览`install_macos.sh`文件其实不难发现,最终实现安装的其实是`touch_env.sh`,在该文件中将一些项目进行了下载,并放入了.env目录,因此在有些情况下,若env版本不对,或者需要升级时,我们可以直接使用这个文件进行更新,不过因为只是个简单脚本,因此有概率会更新不成功失败然后将.env/tools/scripts/touch_env.sh直接给清洗掉,那么重新从仓库复制下来这个脚本,再执行即可更新。 ### 使能pwm功能 通过menuconfig命令,打开外设驱动,并使能pwm功能。 ### 使能失败时检查并手动开启 在mac环境中`menuconfig`经常会失效导致各种文件无法下拉,配置没有修改的情况,在这种情况下,在保存.config后可能还需要手动检查头文件是否正常开启,以及手动使能。 ### cmake源文件引入失败手动引入 一般来讲,在通过menuconfig修改过配置后,仅需要通过`scons --target=cmake`即可完成更新cmake项目,然后便可以顺利进行后续工作,但是实际上可能会cmake无法正常更新,然后导致cmake中存在源文件以及头文件未引入,这个时候也很简单,在cmake中手动引入一下即可解决bug。 ## 实现pwm的变频实现呼吸灯 最后便是实现通过pwm的缓慢变频来实现呼吸灯功能了,代码在gitee仓库中`https://github.com/MacGuffinLife/rtt_hpm5300evk_pwm`。
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
MacGuffin
这家伙很懒,什么也没写!
文章
1
回答
0
被采纳
0
关注TA
发私信
相关文章
1
RT-Thread Studio 跨平台
2
能否提供macos版的开发软件
3
rtgui/driver.h No such file
4
pkgs --update出错,ImportError requests
5
在macOS 如何使用柿饼派m3开发板进行开发?
6
Macos 如何打开 menucofig
7
rt-thread配合clion有没有相关的资料教程
8
STM32CubeMX生成了不同路径下的两个finsh文件夹
推荐文章
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
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
SFUD
msh
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1443
个答案
289
次被采纳
张世争
807
个答案
174
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
4
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
1
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部