本月在st看到H7系列居然有了双核单片机(M7+M4),单片机开始成双成对了,哎呀呀,这让万年单身狗的我情何以堪那,啧啧啧。。。。

在掏了几百个大洋后,买了一块Stm32H747-Disco的开发板,听说最近threadX很火,主要这个rtos的安全认证比较齐全,而且全家桶比较完善。双核配threadX,对于开发团队的话,完全可以一个人负责一个核,最后合一下就可以跑起来了,或者一个核跑业务逻辑,一个核跑安全的逻辑,可塑造性更强了。

下面就用板子第一次入门ThreadX了。

开发工具是Stm32CubeIDE,

勾选一下threadX,然后基本不用移植了

对于threadX来说,启动流程也很简单,这边贴一张官方的图

这边tx_kernel_enter()函数调用后,threadX就真正开始运行了,tx_application_define是tx_kernel_enter的回调函数,这个函数主要作用是 我们可以在里面创建任务,信号量,队列这些东东,(ps:这个和freertos还是有点区别的)

这边创建2个任务,使用时间片轮询

  UINT ret = TX_SUCCESS;TX_BYTE_POOL *byte_pool = (TX_BYTE_POOL*)memory_ptr;/* USER CODE BEGIN App_ThreadX_Init */CHAR *pointer;/* Allocate the stack for thread 0. */tx_byte_allocate(byte_pool, &pointer, DEMO_STACK_SIZE, TX_NO_WAIT);/* Create the main thread. */tx_thread_create(&thread_0, "thread 0", thread_0_entry, 0,pointer, DEMO_STACK_SIZE,1, 1, 1, TX_AUTO_START);/* Allocate the stack for thread 1. */tx_byte_allocate(byte_pool, &pointer, DEMO_STACK_SIZE, TX_NO_WAIT);/* Create threads 1 and 2. These threads pass information through a ThreadXmessage queue. It is also interesting to note that these threads have a timeslice. */tx_thread_create(&thread_1, "thread 1", thread_1_entry, 1,pointer, DEMO_STACK_SIZE,1, 1, 1, TX_AUTO_START);/* USER CODE END App_ThreadX_Init */return ret;

线程函数比较简单,轮流点亮灯,tx_thread_sleep函数的形参是多少个时钟节拍,因为这边的系统时钟配置成了10ms,所以100ms和500ms灯亮灭一次

void thread_0_entry(ULONG thread_input)
{/* This thread simply sits in while-forever-sleep loop. */while(1){HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);/* Sleep for 10 ticks. */tx_thread_sleep(10);}
}void thread_1_entry(ULONG thread_input)
{/* This thread simply sends messages to a queue shared by thread 2. */while(1){HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin);/* Sleep for 10 ticks. */tx_thread_sleep(50);}
}

另外的话,stm32CubeIDE已经做的比较好,调出thread list就可以看到栈的使用情况

 

灯成功按我们逻辑亮灭,这里说明基本threadX已经跑起来啦

stm32H747 开发板-m7 threadX初探相关推荐

  1. 学习ZYNQ之FPGA2(开发板资源初探)

    ZYNQ-7020 核心板资源图 ZYNQ-7010 核心板资源图 核心板外设简介: 1. ZYNQ 主控芯片 ZYNQ-7020 核心板主控芯片为 XC7Z020CLG400-2,85K LC(逻辑 ...

  2. 【HarmonyOS HiSpark Wi-Fi IoT HarmonyOS开发板】初探

    感谢电子发烧友论坛提供了这次试用机会,在焦急的等待中,拿到了HarmonyOS HiSpark Wi-Fi IoT HarmonyOS开发板.迫不及待的进行开箱. 首先来张外观图 打开盒子后,映入眼帘 ...

  3. Tang Nano FPGA(35元开发板).初探

    ​Lichee Tang Nano 基于高云小蜜蜂系列GW1N-1 FPGA的简约型开发板.该芯片搭载了1K LUT4的逻辑资源,1 PLL和4 Block RAM,开发板引出了所有I/O接口,适用于 ...

  4. 安富莱v6开发板网口通讯_安富莱嵌入式周报第170期:2020.07.202020.07.26

    说明: 谢谢大家的关注,继续为大家盘点上周精彩内容. 1.沁恒推出带USB3.0,千兆以太网,光纤接口的RISC内核单片机CH569     CH569/565 微控制器使用 RISC-V3A 内核, ...

  5. [学习指南]运动是基于4412嵌入式技术开发板学习步骤

    本文转自快:http://www.topeetboard.com 地址:http://v.youku.com/v_show/id_XOTI4Njc0NDIw.html 嵌入式技术的知识体系: 适用于i ...

  6. Hi3559av100安装linux,海思hi3559AV100开发板参数规格介绍

    海思hi3559AV100开发板调试参数资料介绍: 处理器内核: 双核 arm Cortex A73@1.8GHz,32KB I-Cache, 64KB D-Cache /512KB L2 cache ...

  7. STM32F4开发板硬件简介

    参考:STM32F4开发板硬件平台简介 作者:SKY丶丿平才 发布时间: 2021-03-20 10:44:41 网址:https://blog.csdn.net/weixin_48264057/ar ...

  8. 龙芯2K1000开发板资料1.2版更新了

    叮,今日更新已送达. 本次指南更新新增了pmon下操作GPIO章节和pmon下Ejtag使用章节,感兴趣的快来看看吧~ 更新重点 1.新增了9.6 pmon下操作GPIO章节 2.新增了9.7 pmo ...

  9. STM32F4开发板硬件平台简介

    文章目录 前言 一.ALIENTEK 探索者 STM32F4 开发板资源初探 1.开发板资源图 2.ALIENTEK 探索者 STM32F4 开发板板载资源汇总 3.ALIENTEK 探索者 STM3 ...

最新文章

  1. spring-session源码解读 sesion
  2. sap 判断字串是不是为数字
  3. App设计灵感之十二组精美的移动支付App设计案例
  4. Ocelot简易教程(二)之快速开始1
  5. tiny4412初期环境搭建
  6. vue项目,cli-3.0项目部署运行报错:Uncaught SyntaxError: Unexpected token
  7. FormView控件
  8. Python爬虫中最重要、最常见、一定要熟练掌握的库
  9. 51NOD 2026:Gcd and Lcm——题解
  10. 微信群 保存到通讯录
  11. Ubuntu中切换用户
  12. 大数据分析有哪些分析模型
  13. 40.django中重要概念
  14. 如何将html放到虚拟主机上
  15. 李少白讲摄影-不放过一切光线 地坛书市新书首发圆满结束
  16. 处处吻(粤语汉字英译)
  17. 吐血整理50个吊炸天的超实用网站
  18. dct变换可以用什么方法代替_「dct变换」DCT变换自学笔记 - seo实验室
  19. fock join 列子
  20. xml层级工具_XML Tree

热门文章

  1. Git reset使用与注意点
  2. swagger测试导出报URL.createObjectURL: Argument 1 is not valid for any of the 1-argument overloads.
  3. 高等数学的函数连续,可导,可微和偏导数连续的关系(多元)
  4. 【文本匹配】之 RE2论文详解
  5. MySQL+Java实现父子级联查询
  6. @Modifying注解
  7. js中单引号与双引号冲突,怎么办
  8. 基础选择器-类选择器
  9. U盘损坏打不开,提示需【格式化】的解决办法【亲测有效】
  10. 在fragment的onViewCreated里observe livedata的变化的原因