- 本文作者:
Linux兵工厂
,一个嵌入式软件领域的攻城狮。 - 欢迎指教
- 公一众-号:Linux兵工厂,获取硬核Linux资料和文章
前言
- 根据项目需求并且经过各方面评估最终选择了这款Rock Pi(Rock派)系列中的Rock Pi S产品。
- 正式它的各方面的特性,简直就是为我的项目开发量身打造的。小巧方便,这板子可以说简单干练,布局紧凑,非常适合IOT以及智能语音项目。特别是WIKI官网上的开发说明很合木荣君的胃口。
- 如果有相关开发经验的小伙伴可以一起交流,相互学习,共同进步
SOC RK3308B简介
RK3308B是瑞芯微旗下的一款高性能四核SOC处理器,专为智能语音交互、音频输入/输出处理和其他数字多媒体应用而设计。支持丰富的音频接口,如I2S、PCM、PDM、TDM、SPDIF、HDMI ARC等,可以满足不同场景的开发需求,降低硬件开发复杂度和开发成本。
Rock Pi S简介
Rock Pi S 是Radxa团队基于RK3308芯片设计的开发板。搭载64位4核处理器,DDR3 RAM容量从256MB到512MB可选,这款1.7英寸的小板还带有USB, 网口,并可选带有蓝牙/无线模块的不同型号以满足不同项目需求。这款产品是IoT物联网产品以及智能音箱产品的极佳选择。做到这么小的尺寸,惊不惊喜,意不意外。可以说Radxa出品,必是精品啊,每个型号的性价比都是相当不错。而Rock Pi S更是如此,可以说是相当神奇了
硬件资源
- 木荣君本人使用的ROCK Pi S版本是V13
型号 | ROCK Pi S |
---|---|
处理器 | SoC RK3308 Quad Cortex-A35 ARM 64bits processor 主频1.3GHz |
内存 | 256MB或512MB DDR3可选 |
存储 | MicroSD(TF), optional on board 1/2/4/8Gb NAND flash |
无线 | 802.11 b/g/n wifi BT 4.0(rtl8723DS) external antenna |
USB接口 | USB2.0 Type-A HOST x1 USB3.0 Type-C OTG x1 |
按键 | maskrom x1 reset x1 |
网口 | 100MB ethernet, optional PoE(additional HAT requried) |
IO | 26-pin expansion header I2C x4 PWM x3 SPI x2 UART x3 I2S0 x1 5V DC power in x2 3.3V DC power in x2 |
开发前的准备工作
- 通过官方发布的镜像启动系统
1. 必须的硬件
- ROCK Pi S开发板
- 一个SD卡(大于8GB)及读卡器
- USB type C转type A的线(供电或通信)
- 网线
2. 下载镜像文件
- 下载地址:https://wiki.radxa.com/RockpiS/downloads,这是一个外网地址,文件较大,如果下载很慢,需要的小伙伴可以联系
木荣君
获取全部开发资料。 rockpis_debian_buster_server_arm64_20210924_0412-gpt.img.gz
这是木荣君目前使用的版本,官方正式发布,但不是最新的,最新的Github上获取
3. 下载烧写工具
- 下载地址:https://wiki.radxa.com/RockpiS/downloads同镜像一个地址。
- 烧写工具window和Linux下都有对应的,
balena-etcher-electron-1.5.76-linux-x64.zip
这是木荣君使用的Linux版本,毕竟习惯了linux的操作。
4. 第三方镜像
- 官网上还提供了第三方的镜像,但是官方不保证使用中是否有问题,并且木荣君一直使用的是官方发布的文件。还是建议使用官方文件。
5. 烧写镜像到SD卡
- SD卡插入读卡器,读卡器连接到ubuntu16.04上
- ubuntu16.04下解压balena-etcher-electron-1.5.76-linux-x64.zip并启动烧写工具
unzip balena-etcher-electron-1.5.76-linux-x64.zip
./balenaEtcher-1.5.76-x64.AppImage
- 选择文件开始烧写
- 烧写成功
6. 启动系统
- 将SD卡插入到板子上,上电
- 绿色电源 LED 亮起,过了一会儿,蓝色 LED 开始闪烁说明内核启动成功
7. 串口调试
- ROCK Pi S 默认波特率为 1500000(1.5Mbps),请检查您的 USB 转 TTL 线是否支持 1.5Mbps 波特率。 CP210X、PL2303x部分型号有波特率限制,请查看指定型号。 我们还测试了一些廉价的基于 PL2303x 的电缆不能正常工作。 确保选择高质量的。 以下说明使用基于 FT232RL 的电缆。
- macOS平台的串口工具好像受驱动限制不能支持1.5Mbps等自定义波特率。
- 连接调试串口,在电脑终端查看系统输出信息
- 插针对应的顺序
8. ssh登录
- SSH服务器在ROCK Pi S默认的端口22上启用。
- 通过串口上输出的系统启动信息或在文件系统的系统启动脚本添加获取IP的命令可知道系统的IP
- ssh登录,默认用户名密码都为rock
ssh rock@device-ip
9. 开发环境
- 镜像已经烧入并且系统已经正常运行,ssh也可以正常登录。那么下一步就是开发我们的应用程序,当然开发应用程序首先就需要交叉编译工具链。
- 安装交叉编译工具
wget https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz
sudo tar xvf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz -C /usr/local/
export CROSS_COMPILE=/usr/local/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
export PATH=/usr/local/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin:$PATH
10. 编写测试程序
- 编写一个简单的测试程序,验证能否在板子上正常运行
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char const *argv[])
{
for (size_t i = 0; i < 10; i++)
{
/* code */
printf("Rock Pi S test!\n");
sleep(1);
}
return 0;
}
- 运行
结束语
- 至此,我们完成了镜像烧写,ssh登录,测试程序的正常运行,ROCK Pi S前期的准备工作到此就已完成。下一步就是根据业务需求开始我们的应用开发了。
- 目前我们是根据官方发布的镜像来启动系统,下篇我会把系统源码uboot、kernel等下载下来进行手动编译来定制自己需要的镜像文件,以及在下篇内容中整理应用开发的过程及所遇到的问题和解决方法。
- 关注
Linux兵工厂
,敬请期待