356053261 发表于 2023-8-13 18:16

AT32F403A SDIO例程,拔掉SD卡再重新插入会死机

使用官方的AT32F403A的SDIO例程测试时,发现将SD卡拔掉再重新插入时会死机,进入hardfault,
测试了AT32F415的例程,重新插入SD卡则没进入hardfault,
然后试了把AT32F415的程序下载到AT32F403A,也能正常工作,重新拔插SD卡不会死机
各位大佬有没有遇到过?

mark一江水 发表于 2023-8-15 11:09

我在403A最新的BSP上测试,反复插拔SD卡多次,都没有遇到进hardfault的情况,而且也有看到415与403A的sdio驱动部分代码也是一样的,建议再检查一下你的电路或是否与其他问题相关。

muyichuan2012 发表于 2023-8-15 15:21

https://www.arterytek.com/cn/product/AT32F403A.jsp

356053261 发表于 2023-8-15 22:37

muyichuan2012 发表于 2023-8-15 15:21
https://www.arterytek.com/cn/product/AT32F403A.jsp

您好,刚测试了一下,当把
crm_pll_config(CRM_PLL_SOURCE_HEXT_DIV, CRM_PLL_MULT_60, CRM_PLL_OUTPUT_RANGE_GT72MHZ);
这里的CRM_PLL_MULT_60改为CRM_PLL_MULT_30时就不会了,改到40时多试几次还是会出现的

356053261 发表于 2023-8-15 22:38

mark一江水 发表于 2023-8-15 11:09
我在403A最新的BSP上测试,反复插拔SD卡多次,都没有遇到进hardfault的情况,而且也有看到415与403A的sdio ...

谢谢,刚测试了一下,当把
crm_pll_config(CRM_PLL_SOURCE_HEXT_DIV, CRM_PLL_MULT_60, CRM_PLL_OUTPUT_RANGE_GT72MHZ);
这里的CRM_PLL_MULT_60改为CRM_PLL_MULT_30时就不会了,改到40时多试几次还是会出现的

356053261 发表于 2023-8-15 23:34

本帖最后由 356053261 于 2023-8-15 23:38 编辑

用415的DEMO,将 CRM->cfg 的 bit31 置位,倍频调到40,烧录到403A,时钟还是160M,然后拔插几次,就死机了

muyichuan2012 发表于 2023-8-16 16:56

时钟的PLL最好是用时钟配置工具生成。

356053261 发表于 2023-8-20 23:38

muyichuan2012 发表于 2023-8-16 16:56
时钟的PLL最好是用时钟配置工具生成。

您好,AT32F403A的工程,将Heap_Size设置为0x14000时,系统无法运行,debug时提示Cannot access Memory (@ 0x20018a64. ......), MDK的IRAM1 size为0x38000,请问要怎么弄?

356053261 发表于 2023-8-21 08:13

356053261 发表于 2023-8-20 23:38
您好,AT32F403A的工程,将Heap_Size设置为0x14000时,系统无法运行,debug时提示Cannot access Memory ( ...

在坛子里搜到一个帖子,已经搞定了

356053261 发表于 2023-8-23 07:40

本帖最后由 muyichuan2012 于 2023-8-23 10:09 编辑

liliang9554 发表于 2023-8-22 22:08
怎么搞定的?
https://bbs.21ic.com/icview-3073006-1-1.html
页: [1]
查看完整版本: AT32F403A SDIO例程,拔掉SD卡再重新插入会死机