co_fifo申请内存大小注意事项

徽信管理团队 · 208次点击 · 2023-11-07

有时候,我们代码中需要申请FIFO,这个时候可能会用到SDK中提供的默认接口函数(在co_fifo.h文件中):

co_fifo_init(); //初始化fifo

co_fifo_in(); //往fifo填充数据

co_fifo_out(); //从fifo中取数

co_fifo_avail(); //获取可用空间

在使用上述函数中有一个注意事项,就是在调用co_fifo_init();函数内有一个co_assert函数:

co_assert(is_power_of_2(size));

#define is_power_of_2(x) ((x) != 0 && (((x) & ((x) - 1)) == 0))

也就是说,该fifo申请的时候必须是2的整数幂,比如你可以申请4KB、8KB、16KB,但是你不能申请10KB,否则就会出现assert导致死机



被收藏 0  ∙  0 赞  
加入收藏
点赞
1 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站