OSStartHighRdy LDR R4, =NVIC_SYSPRI2 ; set the PendSV exception priority LDR R5, =NVIC_PENDSV_PRI STR R5, [R4] MOV R4, #0 ; set the PSP to 0 for initial context switch call MSR PSP, R4 LDR R4, =OSRunning ; OSRunning = TRUE MOV R5, #1 STRB R5, [R4] ;Çл»µ½×î¸ßÓÅÏȼ¶µÄÈÎÎñ LDR R4, =NVIC_INT_CTRL ;rigger the PendSV exception (causes context switch) LDR R5, =NVIC_PENDSVSET STR R5, [R4] CPSIE I ;enable interrupts at processor level OSStartHang B OSStartHang ;should never get here 之前程序的功能一直是正常的,在工程打开时,压缩一下工程,再运行时,运行这个函数OSStart()时,就停在上述红色标注的位置处,有谁知道原因吗? |
目前新项目,MCU采用STM32F407VGT6,文件存在TF卡(SDIO),请问能否通过F4的USB把TF卡里面的txt和excel文件拷贝到U盘?哪个USB可以实现?
STM32F407ZGT6假死现象,看门狗不起作用
STM32F407VGT6使用PLL倍频后芯片会反复重启
CAN接收丢包
使用Cubeprogrammer无法连接、连接G431和一块H750的板子可以连上但是连另外一块H750的板子和F407的板子就直接报错,这个应该如何解决。
SPI 通信,既有单字节数据传输,又有多字节数据传输,该如正确使用 DMA?
SD卡log存储
STM32F413ZGT6的NRST需要接上拉电阻吗
STM32F4的串口在配置DMA之后,不能使用高波特率吗?
劳烦大佬们看一下,为什么我的USART1 这样配置接收不了数据啊
说明你xxxx.S启动文件的中断向量表PendSV入口函数跟uCOS-II的入口函数不统一。
另外SysTick也有这个问题,要注意。
PendSV 的函数名都是PendSV_Handler 完全一样的。
方便的话,上传你的移植工程看看。
int main(void)
{
delay_init(10); //ÑÓʱ³õʼ»¯
Init_Gpio();
uart_init(9600);
//´®¿Ú²¨ÌØÂÊÉèÖÃ
USART_SendData(USART1, 0xaa); //for test use
OSInit(); //UCOS³õʼ»¯
OSTaskCreate(CMD_task,(void*)0,(OS_STK*)&CMD_TASK_STK[CMD_STK_SIZE -1],CMD_TASK_PRIO);//prio=5
OSStart(); //¿ªÊ¼ÈÎÎñ
}
程序死在OSStart();
应该是要多个task的吧,你再开一个试试
cmd task 中创建了3个其它的task