F4开发板摄像头实验,死在HardFault中断里了

2019-07-20 19:51发布

我在看摄像头实验的时候,原子哥把从DCMI接收过来的JPEG格式的数据通过DMA传送到了自己开辟的接收数组中jpeg_buf[jpeg_buf_size] ,也就是__align(4) u32 jpeg_buf[jpeg_buf_size] 。然后呢,我想把数据放到外部SRAM中所以我把这句话改成了__align(4) u32 jpeg_buf[jpeg_buf_size] __attribute__((at(0X68000000)));也就是把数组的首地址定在0x68000000,这是外部SRAM的首地址。但是调试的时候,我发现程序死在HardFault中断里了,我找上一句发现出错在while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET);//循环发送,直到发送完毕 。。各位大神,知道的请回答下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-07-21 01:38
 精彩回答 2  元偷偷看……
wuxp1993
2楼-- · 2019-07-21 04:37
正点原子 发表于 2016-9-28 20:17
不要直接定位到外部SRAM,这样是不能正常接收的!!速度不够,除非你降低摄像头的输出速度。

原子哥,是DMA将数据传送到外部SRAM太慢了是吗?但是为什么会停在while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET)这里呢?为什么跟串口有关系?
正点原子
3楼-- · 2019-07-21 07:53
wuxp1993 发表于 2016-9-28 21:43
原子哥,是DMA将数据传送到外部SRAM太慢了是吗?但是为什么会停在while(USART_GetFlagStatus(USART2,USAR ...

DCMI是和串口无关的
所以,死这里可能是假象,你得继续查问题

一周热门 更多>