首页 > 其他分享 >FreeRTOS GD32L233移植 过程备忘1 6837E+开始系统前进硬件错误终端

FreeRTOS GD32L233移植 过程备忘1 6837E+开始系统前进硬件错误终端

时间:2024-09-25 09:48:58浏览次数:10  
标签:6837E traceISR 错误 FreeRTOS ulPreviousMask GD32L233 硬件 void

条件: MDK  手动添加源码 版本2406.1长期版本

过程中问题

1、报 6837E错。

2、在开始系统前 进硬件错误。

1、.\output\Project.axf: Error: L6837E: Illegal data mapping symbol found in execute-only section portasm.o(.text.vStartFirstTask) at offset 0x18.

解决办法

2、在系统开始运行前,执行延时或者数据打印时,会进硬件错误

void SysTick_Handler( void ) /* PRIVILEGED_FUNCTION */
{
uint32_t ulPreviousMask;

delay_decrement();

if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) /* OS开始跑了,才执行正常的调度处理 */
{
  ulPreviousMask = portSET_INTERRUPT_MASK_FROM_ISR();
  traceISR_ENTER();
  {
    /* Increment the RTOS tick. */
    if( xTaskIncrementTick() != pdFALSE )
    {
      traceISR_EXIT_TO_SCHEDULER();
      /* Pend a context switch. */
      portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT;
    }
    else
    {
      traceISR_EXIT();
    }
  }
  portCLEAR_INTERRUPT_MASK_FROM_ISR( ulPreviousMask );
}
}

 

标签:6837E,traceISR,错误,FreeRTOS,ulPreviousMask,GD32L233,硬件,void
From: https://www.cnblogs.com/gwsblog/p/18430627

相关文章

  • freeRTOS源码解析4--tasks.c 5
    4.2.13继续任务--vTaskResume接口:voidvTaskResume(TaskHandle_txTaskToResume)形参1:xTaskToResume,想要继续的任务handle;首先是vTaskResume调用的一个内部函数:staticBaseType_tprvTaskIsTaskSuspended(constTaskHandle_txTask),用于检查任务是否是挂起状态,只有挂起的......
  • 手动移植FreeRTOS到stm32
    手动移植FreeRTOSstm32cubemx内置了freertos,如果不想手动移植,可以参考这个视频:https://www.bilibili.com/video/BV1To4UeVEHA/但手动移植可以加深自己的理解,可以参考下面这个视频:https://www.bilibili.com/video/BV1vUpje9Ej2?p=11以下内容是手动移植的过程记录使用stm32cub......
  • 龙芯+FreeRTOS+LVGL实战笔记(新)——08RGB闪烁灯
            本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了完善与优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以前......
  • freeRTOS源码解析4--tasks.c 4
    4.2.9周期任务用的延迟--xTaskDelayUntil接口:BaseType_txTaskDelayUntil(TickType_t*constpxPreviousWakeTime,constTickType_txTimeIncrement)形参1:pxPreviousWakeTime,上一次唤醒时间,第一次需要用接口xTaskGetTickCount()获取;形参2:xTimeIncrement,想要延迟的时间。......
  • freeRTOS源码解析4--task.c 3
    4.2.6任务删除--vTaskDelete这个接口并不复杂,主要是在判断是否要放到xTasksWaitingTermination列表里,还是直接处理。1voidvTaskDelete(TaskHandle_txTaskToDelete)2{3TCB_t*pxTCB;4BaseType_txDeleteTCBInIdleTask=pdFALSE;5BaseTyp......
  • 龙芯+FreeRTOS+LVGL实战笔记(新)——03完成驱动的移植
            本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了改进和优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以前......
  • FreeRTOS 队列 Queue 源码解析
    目录一、队列1、队列结构体2、队列类型二、队列相关操作1、初始化1.1静态创建队列1.2动态创建队列1.3队列的初始化1.4队列的重置2、队列的发送2.1任务级入队函数2.1.1入队函数2.1.2队列锁2.1.3portYIELD_WITHIN_API2.2中断级入队函数3、任务的读取3.1任务......
  • 深入剖析 FreeRTOS:实时操作系统的卓越之选
    摘要: 本文全面深入地探讨了FreeRTOS,这一广泛应用于嵌入式系统的实时操作系统。详细阐述了FreeRTOS的起源与发展历程,介绍其基本概念、特点及工作原理。深入分析了FreeRTOS的内核架构、任务管理、内存管理、中断处理等关键组成部分。探讨了FreeRTOS在物联网、工业控制、......
  • FreeRTOS实现命令交互行的功能
    背景说明:   在实际工作中,有时候我们希望打印系统信息,但是太多信息会导致很乱看不清,或者我们希望设备一般情况下不要打印信息,所以我们的需求就是可以通过发送一条指令给设备,然后设备打印对应的信息。一.添加文件首先將ZNS文件夹中的上述文件复制到自己......
  • freeRTOS面试题目 面经 单片机面经汇总MCU RTOS常见面试经验汇总 freeRTOS消息队列 信
    常见rtos部分Linux题目汇总FreeRtos面经30题前后台程序与实时操作系统的区别是什么?实时系统的基本特性有哪些?什么是不可剥夺型内核?它的特点是什么?可剥夺型内核的定义及适用场景是什么?什么是可重入型函数?它有什么特点?使用可剥夺型内核时,为什么不应直接使用不可重入型函数......