去年的时候,我买了一台MacBook Pro

这个电脑用起来是超级爽的,但是用来搞嵌入式开发也是超级头疼的。

编译倒不是特别困难的事情,编译可以安装虚拟机,我刚开始的时候想烧录程序也可以用虚拟机,昨天折腾了一天,没搞定,下午就带着小孩去公园玩了,所以今天就开始继续折腾了下。

最后选择的烧录程序

rkdeveloptool

对应的github链接

https://github.com/weiqifa0/rkdeveloptool

在MacBook上编译,还是挺折腾的

libusb可以使用MacBook的brew来安装,还是比较方便

下面是在ubuntu上编译的步骤

可以作为参考,如果在Macbook上编译,可以看我上面的github链接。

1 install libusb and libudev
sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf
2 go into root of rkdeveloptool
3.aclocal
4.autoreconf -i
5.autoheader
5.automake --add-missing
4 ./configure
5 make
在MacBook上编译的时候,会有一个比较恶心的编译错误

就是使用sprintf这个函数的时候提示错误,我只能把sprintf全都改成了
snprintf,也就是我代码上的这个提交。

在MacBook上交叉编译了之后,终于可以用它来给我的开发板烧录程序来。

烧录之前,需要让开发板进入bootloader模式,我用的这个开发板旁边有两个按键可以让设备进入loader模式,还是比较方便的,这也是我一直钟爱Rockchip的原因,对于开发者还是相对比较友好,在Window上的开发工具也相对较多。

进入烧录模式后,还可以读取到分区的地址,包括每个分区的逻辑地址,我们烧录就需要按照这个地址来烧录。

03d7a11bdecb70f3dcdafce3e2705fef.png

当然,我们还可以用这个工具来看到开发板的flash信息。

0c576a1def6a04d6a1819760835f5d6a.png

我的烧录命令如下

那个地址也是我用rkdeveloptool读取出来的

./rkdeveloptool wl 0x0000A800 boot.img
./rkdeveloptool rd

然后在启动开发板的时候,通过内核日志可以看到确实是我烧录的内核

e90a23e22d5f546c6d173a4bde5b744d.png

f2e28ccd572ff405655633afcc4626a0.jpeg

9bf1969457fbd201b7c9af53c1d1ee8d.jpeg

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐