ART-PI使用ThreadX步驟

本文介绍如何在ART-PI开发板上运行ThreadX实时操作系统。ART-PI基于STM32H750XB,自带ST-Link调试器。文章提供了下载文档、移植模板的链接,并详细说明了配置IAR环境及适配.s中断向量表的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此次的目的是学习ThreadX,采用的开发板是ART-PI,该开发板采用STM32H750XB为主控,自带ST-Link,可以正常调试程序,详细信息可以移步官网介绍:ART-Pi (gitee.io)https://art-pi.gitee.io/website/

该开发板为RT-Thread公司开发,所以文档中心主要以RT-Thread为中心进行讲解。RT-Thread是比较好用的国产RTOS,具有优劣势大家可以自行搜索查询。

本人目前想学习ThreadX,ThreadX是微软开源的RTOS,网上也有很多介绍,官网文档也很详细。国内教程也可以参考安富莱硬汉写的ThreadX内核教程,内核教程链接:

【安富莱】ThreadX内核教程更新记录帖,共计23章节,已经完结(2021-08-30) - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! (armbbs.cn)http://armbbs.cn/forum.php?mod=viewthread&tid=99514&extra=page%3D1本次主要目的是学习ThreaX,手上没有采用安富莱的开发板,刚好有一个ART-PI,而且自带调试器,很小巧、方便。

1. 下载ART-PI文档,衔接如下:

GitHub - RT-Thread-Studio/sdk-bsp-stm32h750-realthread-artpihttps://github.com/RT-Thread-Studio/sdk-bsp-stm32h750-realthread-artpi里面有原理图等资料。

2. 下载安富莱提供移植好的模板,第一步主要是能使用,先让代码跑起来,等熟练以后再学习如何移植。链接如下:

【安富莱】ThreadX内核教程更新记录帖,共计23章节,已经完结(2021-08-30) - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! (armbbs.cn)http://armbbs.cn/forum.php?mod=viewthread&tid=99514&extra=page%3D1文档名称《V7-3002_ThreadX Kernal Template.7z 

里面根据各个不同的IDE有做移植,大家可以根据自己的使用习惯来使用,我采用的是IAR.

3. 为什么要使用V7的例程?

因为APT-PI使用的STM32H7的芯片,HAL库是通用的,只需要更改.s中断向量表即可。

4. 使用IAR打开后,需要配置调试器为ST-LINK,在ST-LINK选项中版本选择Auto,否则会出现Failed to load flash loader的错误。

Options->General Options中选择STM32H750XB芯片

Options->Debugger->Setup->Driver->ST-LINK

Options->Debugger->Plugins->ThreadX

Options->ST-LINK->Setup->Emulator->Auto

Options->ST-LINK->Setup->Emulator->Reset->Connect during reset

其中Plugins->ThreadX是调试时可以通过IAR加载RTOS的各个状态和资源

Emulator->Auto是为了防止出现Failed to load flash loader错误。

5. 使用STM32H50的.s文件替换掉H743的文件

替换前:

路径在:

D:\CODE\artpi\V7-3002_ThreadX Kernal Template\V7-3002_ThreadX Kernal Template\Libraries\CMSIS\Device\ST\STM32H7xx\Source\Templates\iar\

至此ThreadX就可以直接在ART-PI上运行了

如果要通过串口查看数据,需要要将输出COM1改为COM4

如何更改,下次更新

### 正点原子触摸屏驱动及相关开发 正点原子提供了丰富的硬件资源和详细的文档支持,适用于多种微控制器平台的触摸屏开发。以下是关于正点原子触摸屏驱动、开发以及例程的相关说明。 #### 1. 硬件与软件组成 在基于 ART-PI 的 RTThread 和 TouchGFX 平台下,开发环境主要由以下几部分构成: - **硬件组件**:ART-PI 主板搭配正点原子 7 寸 TFT LCD 屏幕。 - **软件框架**:RTThread 实时操作系统提供底层支持,而 TouchGFX 负责图形界面的设计与渲染[^1]。 为了完成整个系统的搭建,需依次进行模板工程创建、TouchGFX 配置、显示驱动配置以及触摸驱动配置等工作。 --- #### 2. 触摸屏驱动原理 对于 STM32 微控制器系列(如 STM32H750 或其他型号),其本身并不内置触摸屏控制器,因此需要通过外部接口连接带有触摸功能的显示屏模块。具体来说: - **电阻式触摸屏**:通常采用 ADC 输入读取 X/Y 坐标数据,并经过校准算法计算实际触控位置。 - **电容式触摸屏**:依赖 I2C/SPI 接口通信,配合专用芯片(如 FT5X06/FT6X06)获取多点触控信息。 以 STM32 控制正点原子 TFTLCD 模块为例,在硬件设计阶段需要明确屏幕类型及其对应的接口方式;而在程序设计方面,则涉及初始化代码编写、中断服务处理等内容[^2]。 --- #### 3. 移植 HAL 库至 CubeMX+CLion 流程 当使用 STM32CubeMX 工具链生成基础项目结构后,可以按照以下方法将现有 HAL 库例程迁移到新环境中: 1. 创建目标 MCU 对应的标准外设库工程; 2. 将原有触摸屏相关源文件导入当前工作区目录; 3. 修改必要的头文件路径定义并调整全局变量声明; 4. 如果存在差异化的硬件资源配置需求,则重新设置 GPIO 引脚映射关系或其他参数选项。 值得注意的是,由于不同版本之间可能存在 API 函数签名变化等问题,所以在实际操作过程中务必仔细核对每一步骤细节[^3]。 --- #### 4. 示例代码片段 下面展示了一个简单的电阻屏坐标采集逻辑实现过程: ```c #include "stm32f4xx_hal.h" #define TOUCH_CS_PIN GPIO_PIN_8 #define TOUCH_CS_GPIO_PORT GPIOA void TS_Init(void); uint16_t Read_X_Axis(void), Read_Y_Axis(void); int main(void) { HAL_Init(); SystemClock_Config(); // 初始化触摸屏 TS_Init(); while (1) { uint16_t x = Read_X_Axis(); // 获取横轴数值 uint16_t y = Read_Y_Axis(); // 获取纵轴数值 printf("X=%d, Y=%d\r\n", x, y); HAL_Delay(100); // 添加适当延时防止刷新过快 } } // 自定义函数体省略... ``` 上述代码展示了如何利用标准外设库访问特定寄存器地址从而获得原始模拟量输入值,并进一步转换成数字化形式供后续应用层调用。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值