|
楼主 |
发表于 2021-2-24 13:33:48
|
显示全部楼层
在 main 里面 TestSRAM((INT8U*)0x20000800,0x3800/4,0); 写入
在 ucos 里面 TestSRAM((INT8U*)0x20000800,0x3800/4,1); 比较
发现写入和 读出 都 ok
但是 使用 它作为 堆栈 就 跑 4-10 是 就崩溃了
我测试 前16K 写入 读出 都 没有问题的
- void TestSRAM(INT8U *pSrc,INT32U len,INT8U mode)
- {
- INT32U i,errcnt=0;
- INT32U *pTest=(INT32U*)pSrc;
- if(mode==0)
- {
- for(i=0;i<len;i++)
- {
- *pTest++=(INT32U)pTest;
- }
- }
- else
- {
- for(i=0;i<len;i++)
- {
- if(*pTest!=(INT32U)pTest)
- {
- printf("error=%X 测试:%X\r\n",*pTest,(INT32U)pTest);
- ++errcnt;
- }
- pTest++;
- }
- printf("错误:%d %d\r\n",errcnt,len);
- }
- }
复制代码 |
|