Rock派(基于瑞芯微RK3308B)开发记录-上篇

news2024/11/26 23:21:18
  • 本文作者: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)
IO26-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兵工厂,敬请期待

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/92322.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

马士兵-郑金维—并发编程—6.JUC并发工具

JUC并发工具 一、CountDownLatch应用&源码分析 1.1 CountDownLatch介绍 CountDownLatch就是JUC包下的一个工具,整个工具最核心的功能就是计数器。 如果有三个业务需要并行处理,并且需要知道三个业务全部都处理完毕了。 需要一个并发安全的计数器来操作。 CountDown…

Web大学生网页作业成品 :黑色主题个人博客网站设计与实现(HTML+CSS+JavaScript)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

基于java+springmvc+mybatis+vue+mysql的农业信息管理系统

项目介绍 农业信息的需求和管理上的不断提升&#xff0c;农业信息管理的潜力将无限扩大&#xff0c;农业信息管理系统在业界被广泛关注&#xff0c;本系统对此进行总体分析&#xff0c;将农业信息管理的发展提供参考。农业信息管理系统对农业信息有着明显的带动效应&#xff0…

【统一融合:拉普拉斯算子:GAN框架】

UIFGAN: An unsupervised continual-learning generative adversarial network for unified image fusion &#xff08;UIFGAN:一个无监督不断学习生成对抗网络统一的图像融合&#xff09; 本文提出了一种新的无监督连续学习生成对抗网络&#xff08;UIFGAN&#xff09;用于统…

阿里资深架构师熬夜纯手写的238页微服务容器化开发实战笔记

本文将分为目录、主要内容和大牛对本文的高度评价三部分组成&#xff0c;因为内容比较多&#xff0c;小编只能把部分知识点和目录拿出来给大家介绍&#xff0c;希望大家能够理解&#xff01;&#xff01;&#xff01; 本文目录 本文包括的主要内容 微服务和 Docker容器技术是目…

怎么安装 Arch Linux?

Arch Linux 是一个 x86-64 通用发行版&#xff0c;它流行于那些喜欢 DIY Linux 系统的用户和 Linux 铁杆粉丝当中。 本文导航 ◈ 如何安装 Arch Linux11% ◈ 安装 Arch Linux 的条件&#xff1a;14% ◈ 第一步&#xff1a;下载 ISO 文件18% ◈ 第二步&#xff1a;创建一个 …

磨金石教育摄影技能干货分享|世界顶级的手机摄影作品欣赏

随着手机像素越来越高&#xff0c;拍照功能越来越完善&#xff0c;手机摄影成为了越来越多人的首选&#xff0c;大家不再执着于单反相机。手机的方便与简捷更受非专业人士的青睐。 每到一个地方&#xff0c;见到不同的景色和人文&#xff0c;我们都可以随手掏出手机记录这些美好…

前端模板-2【vue部分小功能】

前端模板【vue部分小功能】 1 Vue部分模板 1.1 vue实现store【存储当前选中页面】 我的习惯用法&#xff0c;大家可自行调整【以存储当前页面名称为例】 ①在src下新建文件夹store&#xff0c;并创建configure.js、index.js configure.js const configure {state: {HOST: h…

LeetCode 每日一题——1945. 字符串转化后的各位数字之和

1.题目描述 1945. 字符串转化后的各位数字之和 给你一个由小写字母组成的字符串 s &#xff0c;以及一个整数 k 。 首先&#xff0c;用字母在字母表中的位置替换该字母&#xff0c;将 s 转化 为一个整数&#xff08;也就是&#xff0c;‘a’ 用 1 替换&#xff0c;‘b’ 用 …

React 入门:实战案例 TodoList 底部功能实现

文章目录目标实现效果实现已完成和全部数量统计和显示实现全选和全不选实现清除已完成功能完整代码App 组件完整代码Footer 组件完整代码通过前面的章节已经完成 TodoList 的增删改的功能&#xff0c;本文我们来实现底部相关功能&#xff1a;已完成和全部数量实时统计&#xff…

【Linux】文件系统/inode/软硬链接

目录 一.了解磁盘 1.磁盘的概念 2.磁盘的物理结构 3.磁盘的逻辑结构 4.磁盘区域的划分 二.linux文件系统 三.inode 四.软硬链接 1.软链接 2.硬链接 一.了解磁盘 前言: 一般情况下, 系统中存在大量的未被打开的文件, 这些文件全部存储在磁盘上, 也简称磁盘级文件 在li…

功能测试进阶自动化测试,一个女测试工的坎坷之路

绝大多数测试工程师都是从功能测试做起的&#xff0c;工作忙忙碌碌&#xff0c;每天在各种业务需求学习和点点中度过&#xff0c;过了好多年发现自己还只是一个功能测试工程师。 随着移动互联网的发展&#xff0c;从业人员能力的整体进步&#xff0c;软件测试需要具备的能力要…

从ADAS到高阶自动驾驶,车联网芯片如何赋能产业升级?

2022年&#xff0c;L2及L2ADAS前装搭载率正在快速提升&#xff0c;中国智能网联汽车产业进入了由ADAS加速向高阶自动驾驶迈进的关键期。 根据《高工智能汽车研究院》数据显示&#xff0c;今年1-9月前装标配搭载L2级辅助驾驶搭载量为395.19万辆&#xff0c;同比增长69.53%&…

Java开发必备技能:RocketMQ

官方文档可见&#xff1a;https://github.com/hiwei-zhang/rocketmq/tree/develop/docs/cn RocketMQ集群架构 RocketMQ由以下这几个组件组成 NameServer : 提供轻量级的Broker路由服务。Broker&#xff1a;实际处理消息存储、转发等服务的核心组件。Producer&#xff1a;消息…

69. 利用 ALV 实现增删改查系列之一:让 ALV 报表进入可编辑状态

在 CSDN 和我的知识星球里有朋友向我提出同样的问题,询问如何在 ALV 里实现增删改查操作。 虽然需求只有一句话,但是这个需求背后涉及到的知识点不少,因此笔者会通过几篇文章的篇幅,来介绍这个需求的详细实现步骤。 本文先解决第一个障碍,如何让 ALV 报表进入可编辑状态?…

[ MySQL ] 使用 MySQL Workbentch 进行MySQL数据库备份 / 还原(Part 3:备份.sql文件方式)

本文主要讲解如何用 MySQL Workbentch 进行MySQL备份和恢复数据库&#xff08;利用.sql文件的方式&#xff09;。 关于MySQL数据库备份&#xff0c;本博客内主要相关文章有&#xff1a; [ MySQL ] 使用Navicat进行MySQL数据库备份 / 还原&#xff08;Part 1&#xff1a;备份.…

Unity发布Android平台错误记录

Unity发布Android平台错误记录 &#xff08;1&#xff09;Cannot parse project property android.enableR8‘’ of type ‘class java.lang.String’ as boolean. Expected ‘true’ or ‘false’. 注释掉android.enableR8MINIFY_WITH_R_EIGHT打包就可以了 &#xff08;2&…

电线电缆企业应用APS计划排产软件的效益

电线电缆行业是我国经济第二大的配套产业&#xff0c;仅次于汽车产业&#xff0c;年市场规模超万 亿&#xff0c;按产品可分为电力线缆、电气装备用线缆、通信线缆以及绕组线等。电线电缆用以传输电(磁)能&#xff0c;信息和实现电磁能转换的线材产品。广义的电线电缆亦简称为电…

基础算法系列之基础(二)[大数问题]

文章目录前言大数相加大数相减大数乘法除法总结前言 OK&#xff0c;继续预热哈&#xff0c;没办法还得补作业&#xff0c;要G了&#xff0c;明天看看有没有时间加更一篇。 那么今天的话还是来说一下这个精度的一些问题&#xff0c;也就是大数之类的一些问题啥的。这个当然咱们…

mysql优化

索引&#xff1a; 排好序的数据结构 从磁盘上拿一条记录要和磁盘做一次IO操作&#xff0c;&#xff0c;磁盘的IO性能不高 索引数据结构&#xff1a; 二叉树(binary search tree) &#xff1a; 单边增长的数据没有帮助红黑树(red black tree) &#xff1a; 二叉平衡树&#x…