Jul
11
1. 在EDK里怎么用malloc?要不要include什么头文件?
- 不需要include。直接用就可以了。malloc是包含在lib里的。
2. malloc格式?
double *p = malloc( sizeof *p ); /* 不推荐用 sizeof( double ) */
free(p);
//according to http://cpp.ga-la.com/html/3/3/0510/7.htm
3. 潜在问题?
Xilinx AR30878 - reset后malloc返回null
其实如果malloc后,如果已经free了,那么再怎么reset也无妨。问题只是malloc后没有free,导致.bss内容变化,但reset cpu不重写BRAM/DDR RAM中的.bss,因此需要一段代码在启动时重新加载.bss - 这样.bss就需要先存储到non-volatile中了。很麻烦吧:)
- 不需要include。直接用就可以了。malloc是包含在lib里的。
2. malloc格式?
double *p = malloc( sizeof *p ); /* 不推荐用 sizeof( double ) */
free(p);
//according to http://cpp.ga-la.com/html/3/3/0510/7.htm
3. 潜在问题?
Xilinx AR30878 - reset后malloc返回null
其实如果malloc后,如果已经free了,那么再怎么reset也无妨。问题只是malloc后没有free,导致.bss内容变化,但reset cpu不重写BRAM/DDR RAM中的.bss,因此需要一段代码在启动时重新加载.bss - 这样.bss就需要先存储到non-volatile中了。很麻烦吧:)
Ricky版Tips of Xilinx v0.06
ModelSim技巧一则



