29x8h7ann8啥意思

原因:使用了内存管理(估计大镓也是学习的正点原子的学习资料)导致可由系统自由分配的内存减少,当你又在程序中定义了许多变量或数组编译系统无内存给他們分配,与内存管理中设置的内存池冲突

方法1、在内存管理中减小内存池的大小。(这样系统可自由分配的内存就增多)
这个是内存池嘚定义(如下):


在头文件中定义了内存池大小(如下):


我这里已经改成了300K大小大家可以再头文件里更改MEM1_MAX_SIZE,来控制定义在H7内部的AXI内存的內存池mem1的大小

方法2、把你程序中定义的大数组用内存管理的方式分配空间,即用malloc函数(内存管理中定义)为你的大数组在内存池中分配空间(不利用留给系统自由分配的空间)
就是利用内存管理实验malloc.c里定义的这个内存分配函数了(如下):


可以自己选择方法1或方法2解决问题。

注:我用的是正点原子的内存管理的方法遇到了这个问题以上为个人遇到这个报错后的解决办法和个人理解,仅供参考若有错误,歡迎指出谢谢

我要回帖

更多关于 n8是什么意思 的文章

 

随机推荐