请选择 进入手机版 | 继续访问电脑版

硬汉嵌入式论坛

 找回密码
 立即注册
查看: 960|回复: 4
收起左侧

[RL-RTX] RTX5的任务运行在非特权级模式不可以在使用Event Recorder调试组件

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
发表于 2021-12-27 03:28:38 | 显示全部楼层 |阅读模式
记录下问题

DWT也是不可以在非特权级模式下访问的。


QQ截图20211227032942.png
回复

使用道具 举报

6

主题

57

回帖

75

积分

初级会员

积分
75
发表于 2021-12-27 13:24:00 | 显示全部楼层
之前为了用这个非特权模式花了不少精力,除了知道点内核的知识以外,感觉并没有什么卵用。
回复

使用道具 举报

6

主题

57

回帖

75

积分

初级会员

积分
75
发表于 2021-12-27 13:26:34 | 显示全部楼层

  1. #ifdef RTOS
  2. #define IS_RUN_IN_UNPRIVILEGED_MODE ((OS_PRIVILEGE_MODE == 0) ? 1 : 0)
  3. #else
  4. #define IS_RUN_IN_UNPRIVILEGED_MODE 0
  5. #endif

  6. #if IS_RUN_IN_UNPRIVILEGED_MODE
  7. void HSPI_GLOBAL_INT_CTRL(uint32_t is_enable);

  8. __svc(1) void SVC_HSPI_GLOBAL_INT_CTRL(uint32_t is_enable);
  9. #else

  10. #define SVC_HSPI_GLOBAL_INT_CTRL HSPI_GLOBAL_INT_CTRL
  11. #endif

  12. void HSPI_GLOBAL_INT_CTRL(uint32_t is_enable)
  13. {
  14.     if (is_enable) {
  15.         NVIC_SetPriority(SPI1_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(), 2, 0));
  16.         NVIC_EnableIRQ(SPI1_IRQn);
  17.         NVIC_SetPriority(DMA1_Channel2_3_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(), 2, 0));
  18.         NVIC_EnableIRQ(DMA1_Channel2_3_IRQn);
  19.     } else {
  20.         NVIC_DisableIRQ(SPI1_IRQn);
  21.         NVIC_DisableIRQ(DMA1_Channel2_3_IRQn);
  22.     }
  23. }
复制代码
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
 楼主| 发表于 2021-12-27 15:48:19 | 显示全部楼层

还行,配合下自己的异常访问机制不错。
回复

使用道具 举报

6

主题

57

回帖

75

积分

初级会员

积分
75
发表于 2021-12-28 09:29:15 | 显示全部楼层
  1. #if IS_RUN_IN_UNPRIVILEGED_MODE

  2. void* const osRtxUserSVC[] = {
  3.     (void*)1,
  4.     HSPI_GLOBAL_INT_CTRL,
  5. };
  6. #endif
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-3-29 05:49 , Processed in 0.220727 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表