谷动谷力

 找回密码
 立即注册
查看: 2254|回复: 0
打印 上一主题 下一主题
收起左侧

中科蓝讯AB32VG1 bluetrum_sdk使用注意事项

[复制链接]
跳转到指定楼层
楼主
发表于 2021-11-27 22:27:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
中科蓝讯AB32VG1 bluetrum_sdk使用注意事项


注意事项

使用 master 的内核的话,BSP 要使用 1.0.9 之后的版本

编译报错

芯片有部分不开源的代码是以静态库提供的,静态库在软件包中,默认已勾选,直接运行 pkgs --update 即可

波特率默认为 1.5M,需要使用 Downloader 下载 .dcf 到芯片,需要编译后自动下载,需要在 Downloader 中的下载的下拉窗中选择 自动;目前暂时屏蔽 uart1 打印

使用 romfs 时,需要自己生成 romfs.c 进行替换,操作参考使用 RomFS

编译报错的时候,如果出现重复定义的报错,可能需要在 cconfig.h 中手动添加以下配置
  1. #define HAVE_SIGEVENT 1
  2. #define HAVE_SIGINFO 1
  3. #define HAVE_SIGVAL 1
复制代码


中断的问题

中断需要设置到 ram 的段中,比如

  1. RT_SECTION(".irq.example.str")
  2. static const char example_info[] = "example 0x%x";

  3. RT_SECTION(".irq.example")
  4. void example_isr(void)
  5. {
  6.     rt_kprintf(example_info, 11);
  7.     ...
  8. }
复制代码


不这么做的话,可能会报错,出现 overflow 的情况
打印的错误格式为 IRQ in Flash: 1 0 - %x %x,将后面的地址加上 0x10000000,也就是说,打印 IRQ in Flash: 1 0 - 1234 2345 的内核的话, 就可以去查询 0x10002345 这个地址的代码在什么函数中,然后将其放入 RAM 的段中,比如
查询在什么函数,可以查看 map 文件,也可以通过 addr2line -e rtthread.elf -f 0x10002345 完成

链接文件的问题

编译时提示某个段不够大的时候,需要自行修改段的大小
想要更进一步了解链接文件的话可以看看下面的链接

scons 编译问题

SDK 依赖的库在软件包中,需要 pkgs --update

RTC

RTC 编译报错的话需要更新内核

串口

串口0暂时无法通过 pb2 打印
串口0默认使用的是单线串口,也就是 tx rx 一条线,单线串口在终端调试需要使用 downloader,在 downloader 里面就不会有回显


+17

最近谁赞过

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-12-28 10:28 , Processed in 0.088447 second(s), 41 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表