问题1:在ucos中进入中断必须加OSIntEnter(); 和OSIntExit();,这个教程说是为了追踪嵌套层数。本人也尝试过不加这个在中断处理中,研究发现在长时间运行中,系统会跑崩,但是FreeRTOS却没有这个,和裸机写中断一样的,那他怎么追踪中断呢?
问题2:我购买了正点原子的F767,然后学习MPU的后,我就在F767上移植emwin。使用STM32CubeMx加STemwin源代码自己移植的,
/* USER CODE BEGIN 1 */
//
Write_Through(); //Cahce强制透写
//MPU_Memory_Protection(); //保护相关存储区域
MPU_Set_Protection(0x60000000,64*1024*1024,0,MPU_REGION_FULL_ACCESS,3,1,1); //保护MCU LCD屏所在的FMC区域,,共64M字节,禁止共用,禁止cache,禁止缓冲
MPU_Set_Protection(0x20000000,512*1024,1,MPU_REGION_FULL_ACCESS,0,1,1); //保护整个内部SRAM,包括SRAM1,SRAM2和DTCM,共512K字节,禁止共用,允许cache,允许缓冲
MPU_Set_Protection(0XC0000000,32*1024*1024,2,MPU_REGION_FULL_ACCESS,0,1,1); //保护SDRAM区域,共32M字节,禁止共用,允许cache,允许缓冲
MPU_Set_Protection(0X80000000,256*1024*1024,3,MPU_REGION_FULL_ACCESS,0,0,0);//保护整个NAND FLASH区域,共256M字节,禁止共用,禁止cache,禁止缓冲
但是我无论怎么配置,我的emwin使用外部SDRAM就会死。
PS:文件是压缩的7z格式的,压缩成zip太大传不上来。。。为啥7z压完只有3M多。。。神奇的格式。
|