Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
2024-RSOC
【2024-RSOC】基于星火一号开发学习分享多线程点亮LED矩阵+环境搭建
发布于 2024-07-23 21:36:50 浏览:351
订阅该版
[tocm] # 1.环境搭建 ## 工具软件的下载与安装 前置准备工作: 1. Git工具 2. ENV工具 3. OpenOCD工具 4. RT-Thread源码 5. VSCode(这个需要自己先安装好) 6. github加速器(需自备) >我这里统一把东西都下载到d盘下的rtthread文件夹下 ### Git工具安装 来到git的官网[Git - Downloading Package](https://git-scm.com/download/win) 根据电脑版本任选其一,下载安装 ![Pasted image 20240723192204.png](https://oss-club.rt-thread.org/uploads/20240723/013ad1ee1d7eab7794f1ef00b122c537.png.webp) 安装完成后可以查看下自己电脑有没有这两个软件 ![image-20240723201215057.png](https://oss-club.rt-thread.org/uploads/20240723/82b0c2e7fc0768307e1132ea6fcd7797.png.webp) 有就是安装好了,可以打开着备用 ## ENV工具 打开下载链接 [https://download-redirect.rt-thread.org/download/env_release/env-windows-v2.0.0.7z](https://download-redirect.rt-thread.org/download/env_release/env-windows-v2.0.0.7z) 下载解压到rtthread文件夹 ![image-20240723201713854.png](https://oss-club.rt-thread.org/uploads/20240723/37a93454a026663263e491103b3e8ee6.png) 进入该目录,双击打开 env.exe文件 ,他就会自动开始下载配置env环境(网络不好的也许要挂加速器?),等一段时间,命令行不动了,按下回车看下会不会弹出一段路径,有的话就是配置好了 ### 然后是注册到环境变量里 ![image-20240723202411889.png](https://oss-club.rt-thread.org/uploads/20240723/6e5a0194eb23af3a6a50b389c968bb3d.png) ![image-20240723202455914.png](https://oss-club.rt-thread.org/uploads/20240723/92912536990f651409401519e3ae664b.png) ## RT-Thread源码下载 打开刚才装好的git bash输入cd /d/rtthread/按下回车 来到rtthread文件夹下 接下来依次输入每一行并回车 ``` git clone https://github.com/RT-Thread/rt-thread.git ``` ``` cd rt-thread ``` ``` git checkout RSOC-2024 ``` 这些命令的作用是下载RTThread源码并切换到相应的分支 接下来打开文件夹 来到这个目录下 ``` D:\rtthread\rt-thread\bsp\stm32\stm32f407-rt-spark ``` ![image-20240723205534896.png](https://oss-club.rt-thread.org/uploads/20240723/0158123b4a0955c2f46c981175f1c125.png) 右键空白处会出现刚才我们安装的ENV窗口 打开之后输入scons --target=vsc生成VSCode工程文件 紧接着输入code . 回车即可从当前文件夹打开vscode ## 安装vscode插件 ![image-20240723205836368.png](https://oss-club.rt-thread.org/uploads/20240723/70ceb6815e6e57ec24da8ad45753cb9e.png) 来到左边点击拓展,搜索c++就会弹出这两个拓展,点击安装 ![image-20240723205947430.png](https://oss-club.rt-thread.org/uploads/20240723/4e195957ec4d7e3909d163ebdff73efd.png) 这个也要装上,一样的步骤 随后开始配置vscode调试配置 ![image-20240723210155773.png](https://oss-club.rt-thread.org/uploads/20240723/119474fc9908249775cc8ec7f1ecb35e.png) 在左边找到调试按钮,点进去,可以看到有个创建launch.json文件,点击 界面上会出现一个类似搜索框的东西 搜索框下面有个Cortex Debug,点击即可 ![image-20240723210326012.png](https://oss-club.rt-thread.org/uploads/20240723/10bfbb489abfee5cb3fcf2f9a227875a.png) 找到launch.json打开 另外settings.json可以右键自己新建好等会用 这里直接用官方教程的配置替换掉原来的,并改下GCC工具链路径 ``` { "version": "0.2.0", "configurations": [ { "name": "rt-spark-openocd", "executable": "${workspaceRoot}/rt-thread.elf", "request": "launch", "type": "cortex-debug", "runToEntryPoint": "main", "targetId": "STM32F407ZG", "servertype": "openocd", "configFiles": [ "interface/stlink-v2.cfg", "target/stm32f4x.cfg" ], "armToolchainPath": "D:/workspace_work/env-windows/tools/gnu_gcc/arm_gcc/mingw/bin", // !!!需要修改为自己的GCC 工具链路径 !!! "gdbPath": "D:/workspace_work/env-windows/tools/gnu_gcc/arm_gcc/mingw/bin/arm-none-eabi-gdb.exe" // !!!需要修改为自己的GDB 路径 !!! } ] } ``` 来到settings.json,没有就新建一个 下载[Download OpenOCD for Windows](https://gnutoolchains.com/arm-eabi/openocd/) OpenOCD放到rtthread文件夹下 然后settings.json用下面配置替代 ``` { "files.associations": { "*.txt": "dockercompose", "board.h": "c", "rtdevice.h": "c", "drv_gpio.h": "c", "rtthread.h": "c", "drv_matrix_led.h": "c" }, "cortex-debug.openocdPath": "D:/rtthread/OpenOCD-20231002-0.12.0/bin/openocd.exe" } ``` ## 最后 插上开发板,注意插最下面那个typec口 回到ENV的窗口上来 输入scons -j12编译文件 如果没有报错 则回到vscode下 按下F5下载运行 如果不行可以来到如图 手动按运行 ![image-20240723211022284.png](https://oss-club.rt-thread.org/uploads/20240723/4c50efcf3b27b3d0be0b7f64814c9e0c.png) 下载成功后会弹出这个,点击第二个全速运行,不出意外可以看到LED在闪烁 ![image-20240723211050487.png](https://oss-club.rt-thread.org/uploads/20240723/a41f888ca015b315941c33abac63b240.png) # 2.LED矩阵 按照教程配置好环境后,尝试来点一下星火一号上的LED矩阵 ## Menuconfig配置 首先进入RTThread源码目录下的stm32f407-rt-spark文件夹,右键空白区域打开ENV,输入 scons --target=vsc然后回车生成VSCode工程,已经生成过了继续往下 接着输入menuconfig.exe,然后回车进入配置界面 ![image-20240723203420113.png](https://oss-club.rt-thread.org/uploads/20240723/5d1c078316f085074f310aacb3716517.png) 使用键盘的上下键来移动,回车进入,根据下图给的路径来到板子的外设配置界面 ![image-20240723203601659.png](https://oss-club.rt-thread.org/uploads/20240723/56967bfa235463eae911421e84e9608a.png) 只需要来到Led MATRIX下按下回车打开即可,前面的 * 就是打开了的意思 配置好按ESC返回,中途提示要保存就按Y ## VSCode代码部分 在ENV输入code .进入vscode 打开main.c 加入如下代码 ![image-20240723204143113.png](https://oss-club.rt-thread.org/uploads/20240723/95b6ec85fe33c5e0c0c95f42f44f0525.png) ``` #include
#include
#include
#ifndef RT_USING_NANO #include
#endif /* RT_USING_NANO */ #include "board/ports/led_matrix/drv_matrix_led.h" rt_thread_t led_matrix_thread; void led_matrix_entry() { while(1) { for(int i=0;i<=20;i++) { Set_LEDColor(i,WHITE); RGB_Reflash(); rt_thread_delay(100); } for(int i=0;i<=20;i++) { Set_LEDColor(i,DARK); RGB_Reflash(); rt_thread_delay(100); } } } int main(void) { led_matrix_thread = rt_thread_create("led matrix", led_matrix_entry, RT_NULL, 1024, 25, 10); if(led_matrix_thread== RT_NULL) { rt_kprintf("create led matrix thread failed\n"); return 0; } rt_thread_mdelay(200); rt_thread_startup(led_matrix_thread); } ``` 代码比较简陋,主要是用下多线程 接下来编译 ![image-20240723204324357.png](https://oss-club.rt-thread.org/uploads/20240723/40a69f3d45ce32f773976dc5186982b5.png) 没有问题那就可以运行了 点开全速运行应该就能看到Led矩阵的效果了 ![1ba8a7c20d32e3a03bf416acb45708ae.gif](https://oss-club.rt-thread.org/uploads/20240723/5b5faa071b0cbc7e8fe329dc0db094d8.gif)
1
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
alight
该用户没有签名
文章
8
回答
0
被采纳
0
关注TA
发私信
相关文章
推荐文章
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
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
8
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部