在线时间589 小时
UID3469866
注册时间2018-4-19
NXP金币3192
TA的每日心情 | 慵懒 2024-2-8 09:39 |
---|
签到天数: 217 天 [LV.7]常住居民III
版主
- 积分
- 7765
- 最后登录
- 2024-4-30
|
本帖最后由 az158 于 2023-10-15 10:32 编辑
RTX作为keil的亲儿子系统,无论是移植的简易的程度上,还是对m内核的支持上都是绝对的无敌。各个组件也是非常齐全。
而这一次的RTX5移植之旅,将会短的超出想象。
打开工程,启动RTE,勾选keil RTX5,点击ok。
恭喜你,你已经成功将RTX5移植到你的工程里面了。
是真的已经移植完毕了,这就是RTE跟RTX5的魅力,极其方便的部署方式。
编个测试代码体验一下
- #include "fsl_device_registers.h"
- #include "fsl_debug_console.h"
- #include "peripherals.h"
- #include "pin_mux.h"
- #include "clock_config.h"
- #include "board.h"
- #include "cmsis_os2.h"
- __NO_RETURN void app1_Thread (void *argument)
- {
- (void)argument;
- for (;;)
- {
- PRINTF("task1\r\n");
- osDelay(1000);
- }
- }
- __NO_RETURN void app2_Thread (void *argument)
- {
- (void)argument;
- for (;;)
- {
- PRINTF("task2\r\n");
- osDelay(2000);
- }
- }
- __NO_RETURN void led_Thread (void *argument)
- {
- (void)argument;
- for (;;)
- {
- GPIO_PinWrite(BOARD_INITPINS_LED_GPIO, BOARD_INITPINS_LED_GPIO_PIN, 1U);
- osDelay(1000);
- GPIO_PinWrite(BOARD_INITPINS_LED_GPIO, BOARD_INITPINS_LED_GPIO_PIN, 0U);
- osDelay(1000);
- }
- }
- int main(void)
- {
- BOARD_ConfigMPU();
- BOARD_InitBootPins();
- BOARD_InitBootClocks();
- BOARD_InitDebugConsole();
- /* Just enable the trace clock, leave coresight initialization to IDE debugger */
- SystemCoreClockUpdate();
- CLOCK_EnableClock(kCLOCK_Trace);
-
- osKernelInitialize();
- osThreadNew(app1_Thread, NULL, NULL);
- osThreadNew(app2_Thread, NULL, NULL);
- osThreadNew(led_Thread, NULL, NULL);
- if (osKernelGetState() == osKernelReady)
- {
- osKernelStart();
- }
- for(;;){}
- }
复制代码
运行正常,板子上的小灯也开始闪烁
整体工程结构如下,我们只需要关注RTX_Config.c与RTX_Config.h两个文件即可
RTX_Config.h文件使用keil配置向导编写,简直把饭喂到了嘴边
有人可能觉得,没有源码,心里不爽,RTX5本身是开源的,喜欢阅读源码的人,只需在部署的时候选择Source就能将原始代码加入工程,用库的话编译起来更快。
代码工程
4.az158_dapLink.zip
(88.4 KB, 下载次数: 4)
|
|