RK2108 入门

    下图是RK2108的芯片架构图,这个MCU内含400Mhz的ARM-M4F和600Mhz 的HiFi3 DSP,另外还有1MB的内部SRAM,和512KB的D-TCM.

芯片架构图

系统:RT-Thread 3.1.2

UI 框架:LittlevGL

最新SDK版本:RK2108_RT-Thead_SDK_Release_V1.2.0_20210406

SDK 下载地址:

repo init --repo-url ssh://git@www.rockchip.com.cn/repo/rk/tools/repo -u

ssh://git@www.rockchip.com.cn/rtos/rt-thread/rk/platform/release/manifests -b

master -m rk2108_release.xml

.repo/repo/repo sync

通过RKDocs/RK2108_RT-Thread_Release_Note.txt 查看当前 SDK 的版本。



SDK主要目录:

├── applications # Rockchip应用demo源码

├── AUTHORS

├── bsp # 所有芯片相关代码

│ ├── rockchip

│ │ ├── common

│ │ │ ├── drivers # Rockchip OS适配层通用驱动

│ │ │ ├── hal # Rockchip HAL(硬件抽象层)实现

│ │ │ └── tests # Rockchip 驱动测试代码

│ │ ├── rk2108 # RK2108 主目录

│ │ │ ├── board # 板级配置

│ │ │ ├── build # 编译主目录,存放中间文件

│ │ │ ├── build.sh # RK2108 编译脚本

│ │ │ ├── drivers # RK2108 私有驱动目录

│ │ │ ├── dsp_fw # 存放 dsp 固件

│ │ │ ├── Image # 存放固件

│ │ │ ├── tests # RK2108 私有测试代码

│ │ │ ├── start # 启动相关代码

│ │ └── tools # Rockchip 通用工具

├── ChangeLog.md

├── components # 系统各个组件,包括文件系统,shell和框架层等驱动

│ ├── hifi3

│ │ └── rkdsp # DSP工程目录,使用方法请参考文档

<SDK>/RKDocs/develop/Rockchip_Developer_Guide_RTOS_DSP_CN.pdf

├── documentation # RT-Thread官方文档

├── examples # RT-Thread例子程序和测试代码

├── include # RT-Thread官方头文件目录

├── Kconfig

├── libcpu

├── LICENSE

├── README.md

├── README_zh.md

├── RKDocs # Rockchip 文档

├── src # RT-Thread内核源码

├── third_party # Rockchip增加的第三方代码的目录

└── tools # RT-Thread官方工具目录,包括menuconfig和编译脚本



编译环境搭建:

sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
sudo apt-get update

sudo apt-get install gcc-arm-embedded scons clang-format astyle libncurses5-

dev build-essential python-configparser

如果是ubuntu 20.04环境,现在还没有可用的源,这一步会出错 gcc-arm-embedded 会安装不上,除此之外其他几个工具都应该能正常安装。

改成手动下载toolchain,并设置环境变量

wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2018q2/gcc-

arm-none-eabi-7-2018-q2-update-linux.tar.bz2

tar xvf gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2

export RTT_EXEC_PATH=/path/to/toolchain/gcc-arm-none-eabi-7-2018-q2-

update/bin

可以把export这句添加到bsp/rockchip/rk2108/build.sh 的开头位置,注意要修改为编译链的绝对地址。



编译方法:

cd bsp/rockchip/rk2108

cp board/开发板名称/defconfig .config

scons --menuconfig //修改参加编译的模块开关,保存并退出后会生成rtconfig.h文件,此文件参与最终的编译。

./build.sh

注意,这里的.config是给menuconfig用的,rtconfig.h才是最终参与编译的文件。要注意这2个文件是否有不一致的情况,scons --menuconfig 按保存,可以生成新的rtconfig.h文件。

生成的固件是:

bsp/rockchip/rk2108/Image/Firmware.img

这个文件集成了rk2108_psram.bin,rk2108_loader.bin和rtthread.img 这3个固件。rk2108_psram.bin中会探测和初始化PSRAM,接着会运行loader引导程序,最终把rtthread固件加载起来。



固件烧录:

打开 bsp/rockchip/tools 目录下的 Rockchip_Develop_Tool_v2.63,如首次使用此工具,需要安装它目录下的驱动:DriverAssitant_v4.91。

打开升级工具:

windows 升级工具

第1项“LoaderToDDR”选择 bsp/rockchip/rk2108/Image/rk2108_db_loader.bin。

第2项“Firmware”选择 bsp/rockchip/rk2108/Image/Firmware.img。

rk2108_db_loader.bin 这个文件是一个“临时”的loader文件,它只保存在sram中,机器掉电后会丢失,它的作用是与PC通讯,接收固件并写入到flash中。


Linux 系统下可以使用如下脚本完成固件烧录:bsp/rockchip/rk2108/update_fimeware.sh

它实际是调用以下命令完成烧录:

#!/bin/sh

../tools/upgrade_tool db Image/rk2108_db_loader.bin

../tools/upgrade_tool wl 0 Image/Firmware.img

../tools/upgrade_tool rd



如何进入到烧录模式

在 USB 口连着电脑的前提下,按住 MASROM 键不松开,短按 RESET 键,让板子进入到

MaskRom 模式后松开 MASROM 键。未烧录过的固件的设备,上电后会自动进入到 MaskRom 模

式。

如果板子能正常启动,可以通过敲命令:reboot loader进入到升级模式,需要打开config(RT_USING_RESET [=y])



RK2108 支持串口调试。不同的硬件设备,其串口配置也会有所不同。

串口通信配置信息如下:

波特率:115200

数据位:8

停止位:1

奇偶校验:none

流控:none

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容