收到的板子已经烧写了Hbird2 SoC文件,还有HelloWorld 样例。该如何测试样例呢?
硬件上很简单:
软件也是参考HBird SDK开发:
//1. 查看usb是否连接上 lsusb //会有这样的信息 Bus 001 Device 010: ID 0403:6010 Future Technology Devices International, Ltd FT2232xxxx //2.创建并添加如下文件 sudo vi /etc/udev/rules.d/99-openocd.rules // 添加如下信息 SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6010", MODE="664", GROUP="plugdev" SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="664", GROUP="plugdev" //3. 将当前用户名加入到plugdev 群组 whoami //显示当前用户名 // 加入群组 sudo usermod -a -G plugdev your_user_name // 查看并确认是否加入成功 groups ... plugdev ... //4.开启一个窗口查看板子的输出 sudo screen /dev/ttyUSB1 115200 //这里可能会说找不到screen命令,可以自行安装 sudo apt-get install screen
这时候可能啥都没发生,需要按板子的电源键,重新开启,就可以看到屏幕上运行hello world的输出。
接下来,如何修改flash里的代码,调试软件程序呢?
需要首先配置好riscv-gcc的编译环境,参看前面的文章Hummingbirdv2 E203 仿真排坑之路
比如重新运行helloworld程序:
cd <hbird-sdk>/application/baremetal/helloworld
make clean
make upload SOC=hbirdv2 BOARD=ddr200t CORE=e203 DOWNLOAD=flash
切记:make upload 之前不要运行make dasm,最好先make clean一波。
接下来就可以修改目录下的main.c ,完成其他功能。也可以运行其他测试样例,如benchmark、demo_dsp、demo_timer等。
有一说一,HBird SDK的调试比较不方便,Nuclei Studio的图形界面调试更加方便。尝试用该工具调试,但发现一些bug,目前还没解决。
参看官方教程How to develop with Nuclei Studio
“4.4.5 Run Hello World Project”部分,改成FLASH后,编译不通过。
出现如下错误:
对比编译选项发现是C++Linker没有链接上某个文件:
还请各路大神指导