主题中讨论的其他器件:HALCOGEN
我的项目正在使用 FreeRTOS 运行、FreeRTOS 由 Hercules 开发套件上的 HalCoGen 生成。 设计中正在运行多个任务。 任务之一是使用 TI FEE 函数从闪存读取和写入。
当我尝试使用 FreeRTOS 任务中的 TI FEE 函数时、我遇到了一个问题。 该任务在 TI_FEE ()中永久挂起。 TI FEE 函数在任务外运行时工作正常。
无法访问帖子中提到的所有链接和文件。 有人可以向我发送正确的链接和文件吗?
此外、根据该帖子、我应该从用户模式切换到监控模式以执行 TI FEE 功能。 是否有人可以帮助我了解如何将处理器切换到监控模式?
#include "FreeRTOS.h"
#include "os_task.h"
#include "ti_fee.h"
#include "HL_sci.h"
#include "stdio.h"
xTaskHandle xTestTaskHandler
void vTestTask();
int main(void)
{
/* USER CODE BEGIN (3) */
sciInit();
xTaskCreate(vTestTask, "TestTask", 5 * configMINIMAL_STACK_SIZE, NULL, 1 , &xTestTaskHandler);
vTaskStartScheduler();
while(1);
/* USER CODE END */
return 0;
}
void vTestTask(){
//varialbes
//========== flash initialization ==========
TI_Fee_Init();
do
{
TI_Fee_MainFunction();
delay();
Status = TI_Fee_GetStatus(0);
}
while (Status != IDLE);
//========== write to flash ==========
blockNumber = 0x1;
TI_Fee_WriteAsync(blockNumber, &memoryBlock[0]);
do
{
TI_Fee_MainFunction();
delay();
Status = TI_Fee_GetStatus(0);
}
while (Status != IDLE);
//========== read flash ===========
blockOffset = 0x00;
length = 68;
outputResult = TI_Fee_Read(blockNumber, blockOffset, Read_Ptr, length);
do
{
TI_Fee_MainFunction();
delay();
Status = TI_Fee_GetStatus(0);
}
while (Status != IDLE);
while(1){
sciDisplayData(sciREG1, (uint8*) Read_Ptr, 4);
}
}





