
全志R128
文章平均质量分 80
RISC-V C906 + Arm M33 + HiFi5 DSP
小文哥嵌入式开发
芯片原厂/嵌入式开发/LInux/FAE/捏脚大汉/垃圾佬。本博客所有内容都是本人瞎几把写的或者抄的,和本人所在公司没有任何关系。本博客所有内容都可以在注明作者和出处的情况下转载,不用问我。
展开
-
全志R128 SDK HAL 模块开发指南之PWM
脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。原创 2024-05-15 10:14:26 · 591 阅读 · 0 评论 -
全志R128 SDK HAL 模块开发指南之 MSGBOX
msgbox 为一个双端 fifo 结构,cpu0 从一端写,cpu1 从一端读。rpmsg 为 linux 用来实现通讯的一种框架msgbox 为片上处理器之间提供了中断通讯机制对于 R128 平台,CPU Remote ID如下CPURemote ID01HIFI5 DSP2。原创 2024-05-15 09:57:35 · 360 阅读 · 0 评论 -
全志R128 SDK HAL 模块开发指南之 SPI
sys_config和平台头文件。这两种方法选其中一种使用即可,在没有sys_config文件配置时,默认使用平台头文件。当检测到有sys_config文件并有相关关键字时,自动切换为该方法。rtos-hal/|--include/hal/sunxi_hal_spi.h // hal层数据结构和API接口相关头文件|--hal/source/spi/platform_spi.h // hal层平台相关头文件。原创 2024-04-24 09:47:47 · 810 阅读 · 0 评论 -
全志R128 SDK HAL 模块开发指南之 TRNG
TRNG是真随机数发生器,随机源是8 路独立的环形振荡器,由模拟器件电源噪声产生频率抖动,用低频始终重采样,然后进行弹性抽取和熵提取处理,最终输出128bit真随机数。原创 2024-04-24 09:41:53 · 206 阅读 · 0 评论 -
全志R128 SDK HAL 模块开发指南之 UART
Universal Asynchronous Receiver/Transmitter,通用异步收发传输器。原创 2024-04-15 10:25:14 · 556 阅读 · 0 评论 -
全志R128 SDK HAL 模块开发指南——PMU
PMU - 电源管理单元,负责系统各模块供电及电池充放电管理。regulator 相关配置项:power 相关配置项:源码结构介绍模块接口说明头文件:regulator 相关结构体power 相关结构体regulator 获取电路接口函数原型参数:返回值:函数原型参数:返回值:函数原型参数:返回值:函数原型参数:返回值:函数原型参数:返回值:函数原型参数:返回值:函数原型参数:返回值:函数原型参数:返回值:函数原型参数:返回值:函数原型参数:返回值:函数原型参数:原创 2024-04-12 10:03:32 · 594 阅读 · 0 评论 -
全志R128 SDK HAL 模块开发指南——TWI
TWI 控制器的框图如上所示,该控制器支持的标准通信速率为 100Kbps,最高通信速率可以达到 400Kbps。其中 CPUX 域的 TWI 控制器时钟源来自于 APB2,CPUS 域的 S‑TWI 时钟源来自于APBS。TWI 传输数据的方式包括包传输和 DMA 运输。原创 2024-04-10 16:58:24 · 521 阅读 · 0 评论 -
全志R128 SDK HAL 模块开发指南——HW Spinlock
hwspinlock 提供一种硬件同步机制,lock 操作可以防止多处理器同时处理共享数据。保证数据的一致性。原创 2024-04-08 16:35:13 · 410 阅读 · 1 评论 -
全志R128 SDK HAL 模块开发指南——IR红外无线传输
IR_TX 在menuconfig中配置如下IR 在menuconfig中配置如下返回值枚举定义-4配置的 CIR 引脚错误-3配置的 CIR 模块时钟错误-2中断配置错误-1配置 CIR 端口错误0CIR_OK成功。原创 2024-04-08 16:24:57 · 1225 阅读 · 0 评论 -
全志R128 SDK HAL 模块开发指南——G2D
G2D 驱动主要实现图像旋转/数据格式/颜色空间转换, 以及图层合成功能(包括包括alpha、colorkey、rotate、mirror、rop、maskblt) 等图形加速功能。原创 2024-04-01 13:32:48 · 1125 阅读 · 0 评论 -
全志R128 SDK HAL 模块开发指南——GPIO
..整个 GPIO 控制器由数字部分(GPIO 和外设接口)以及 IO 模拟部分(输出缓冲,双下拉,引脚Pad)组成。其中数字部分的输出可以通过 MUX 开关选择,模拟部分可以用来配置上下拉,驱动能力以及引脚输出电压等等。具体的规格如下:原创 2024-03-28 09:49:13 · 861 阅读 · 0 评论 -
全志R128 SDK HAL 模块开发指南——GPADC
一般来说 GPADC 接口用于 KEY 模块按键的读取,一般包括 VOL+、VOL-、HOME、MENU、ENTER 等等,GPADC0 用于 KEY 的电路如上图。AVCC-AP 为 1.8V 的供电,不同的按键按下,GPADC 口的电压不同,CPU 通过对这个电压的采样来确定具体是那一个按键按下。如下图,VOL+、VOL-、MENU、ENTER、HOME对应的电压分别为 0.21V、0.41V、0.59V、0.75V、0.88V。原创 2024-03-28 09:38:43 · 1035 阅读 · 0 评论 -
全志R128 SDK HAL 模块开发指南——Flash Controller
支持不同时钟频率,最大支持 96MHz支持 SPI 1/2/4 线收发,支持 SPI Model 0/1/2/3可灵活配置 4 段虚拟地址区间,支持 DMA 读写、Nor Flash XIP 操作最大 2ˆ32Bytes 容量的 Nor Flash,常见有 64Mb,128Mb,256Mb可对 Flash 进行加密,最大可配置 6 段独立的加密区间支持在读写数据时进行实时 AES 加解密。原创 2024-03-25 10:10:55 · 1098 阅读 · 0 评论 -
全志R128 SDK HAL 模块开发指南——DMA Controller
本文介绍RTOS 中DMA 驱动的接口及使用方法,为DMA 的使用者提供参考。DMA 主要实现设备与设备、设备与 memory、memory 与 memory 之间的数据搬运与传输;BSP DMA 驱动主要实现设备驱动的底层细节,并为上层提供一套标准的 API 接口以供使用。原创 2024-03-25 09:49:26 · 1242 阅读 · 0 评论 -
全志R128 SDK HAL 模块开发指南——CCU
CCU 驱动主要实现设备驱动的底层细节,并为上层提供一套标准的API 接口以供使用。原创 2024-03-22 10:07:43 · 666 阅读 · 0 评论 -
全志R128 SDK HAL 模块开发指南——Crypto Engine
CE 模块主要支持对称算法、非对称算法、摘要算法进行数据的加密和解密功能。原创 2024-03-21 10:55:41 · 550 阅读 · 0 评论 -
2月全志芯片开源项目分享合集
作者的上一个作品的V3s的随身终端,由于硬件解码一直无法完成适配,于是作者找了另一块性能更强,接口更丰富的T113-S3来替代,并将其应用在智能家居场景中的86型智能触控屏解决方案上,最终完成了这款全能智能家居86屏。项目选用4寸RGB接口86屏幕,分辨率480*480。板载WIFI模块、SPI Nand,支持从SPI Nand启动系统。双USB接口以及通过PH2.0扩展了2个串口,几乎用上了T113的全部引脚。原创 2024-03-02 14:38:46 · 1022 阅读 · 0 评论 -
全志R128 SDK HAL 模块开发指南之 LPUART
LPUART 驱动主要实现设备驱动的底层细节,并为上层提供一套标准的 API 接口以供使用。原创 2024-02-02 10:00:04 · 559 阅读 · 0 评论 -
全志R128 SDK HAL 模块开发指南之HW Spinlock
hwspinlock 提供一种硬件同步机制,lock 操作可以防止多处理器同时处理共享数据。保证数据的一致性。原创 2024-02-02 09:43:41 · 376 阅读 · 0 评论 -
全志R128基础组件开发——显示与屏幕驱动②
Gamma 电压是用来控制显示器的灰阶的,一般情况下分为G0~G14,不同的 Gamma 电压与 Vcom 电压之间的压差造成液晶旋转角度不同从而形成亮度的差异,Vcom 电压最好的状况是位于 G0 和 G14 的中间值,这样液晶屏的闪烁状况会最好。通俗的讲就是在液晶面板施加一定电压后,会聚集大量电荷,当电压消失的时候,这些聚集的电荷也要释放,但由于介电效应,这些聚集的电荷不会立刻释放消失,这些不会马上消失的惰性电荷造成了液晶的 DC 残留从而形成了极化现象。这个参数只有在 lcd_if=0 时才有效。原创 2024-01-31 14:25:07 · 1599 阅读 · 0 评论 -
全志R128基础组件开发——显示与屏幕驱动①
RTOS 提供了一套完整的屏幕驱动,支持 RGB, i8080, SPI, DBI 格式的屏幕。RGB接口在全志平台又称HV接口(Horizontal同步和Vertical同步)。有些LCD屏支持高级的功能比如 gamma,像素格式的设置等,但是 RGB 协议本身不支持图像数据之外的传输,所以无法通过 RGB 管脚进行对 LCD 屏进行配置,所以拿到一款 RGB 接口屏,要么不需要初始化命令,要么这个屏会提供额外的管脚给 SoC 来进行配置,比如 SPI 和 I2C 等。原创 2024-01-31 14:18:36 · 1500 阅读 · 0 评论 -
全志R128基础组件开发指南-WiFi Manager②
下面提供Wi-Fi Manager 各功能的开发流程(简单介绍api 的调用流程)。更详细的调用流程可以参考wifi_deamon.c 文件里的编写流程。目前wifimager 支持sofap,蓝牙,xconfig 和声波配网4 种配网模式。所有的配网模式实质上都只包含了2 部分。1. 获取连接ap 的ssid 和psk根据获取到的信息进行联网每种配网模式的第二部分的实现都是一样的,调用libwifimg‑v2.0 里提供的API 进行网络连接。差异化部分只有获取ap 的ssid 和psk 部分。原创 2024-01-25 14:28:08 · 1151 阅读 · 0 评论 -
全志R128基础组件开发指南-WiFi Manager
FreeRTOS 上的网络,驱动部分源码没有开源,用户实际使用时也无需关系具体实现,更多的是做网络管理的逻辑接口开发,所以我们提供了网络中间件支持staapmonitor等多种网络工作模式的管理,本文档重点介绍中间件的使用,配置,框架,接口。Wi-Fi Manager 用于wifi 的连接管理,通信以及wifi 的一些额外功能。支持sta、ap、monitor、p2p 模式,并且集成了配网模式以及其他功能。原创 2024-01-24 10:10:47 · 1233 阅读 · 0 评论 -
全志R128 Devkit开发板原理图模块介绍及使用说明
R128 模组使用 SMT 贴装于 开发板上,外挂陶瓷天线,其中的PA16,PA17脚复用为 UART 调试脚,已经在板上连接了 UART 转 USB 芯片。原创 2024-01-17 09:44:44 · 1095 阅读 · 0 评论 -
全志R128系统RTOS使用说明
由于 R128 同时运行三个独立的 RTOS,有些时候需要操作其他核心的 RTOS,每次都要在SDK切换控制台比较麻烦,所以可以使用跨核心控制台操作其他核心的 RTOS。这里可以看到 M33 核心运行频率 192MHz,DSP 运行频率 400MHz,C906 运行频率 480MHz。修改fork命令参数,可设置fork命令创建的任务的优先级及其栈大小。连接开发板的时候可以点击 RESET 按钮重置 CPU,查看输出。以ACSII码的形式,读取指定的文件。列出所有支持的中断及其状态。命令查看支持的命令。原创 2024-01-05 10:21:51 · 681 阅读 · 0 评论 -
全志R128 SDK架构与目录结构
R128 S2 是全志提供的一款 M33(ARM)+C906(RISCV-64)+HIFI5(Xtensa) 三核异构 SoC,同时芯片内部 SIP 有 1M SRAM、8M LSPSRAM、8M HSPSRAM 以及 16M NORFLASH。本文档作为 R128 FreeRTOS SDK 开发指南,旨在帮助软件开发工程师、技术支持工程师快速上手,熟悉 R128 FreeRTOS SDK 的开发流程。原创 2024-01-05 10:04:52 · 1916 阅读 · 0 评论 -
全志R128硬件设计指南②
R128封装采用 8x8mm QFN设计,0.35mm ball pitch,0.17mm ball size,可支持 2 层板方案与 4 层板方案。产品设计设计当初,应了解硬件系统有哪些时钟信号,对这些信号加以防护,以提高产品 EMI性能,减少后续 DEBUG 成本。要保证印制线的载流容量,印制线的宽度必须适于电流的传导,不能引起超过允许的温升和压降。将高温元器件安装在内表面高黑度,外表面低黑度的机壳中。R128 各模块主时钟频率如表所示。R128采用两层板或四层板设计。原创 2024-01-04 09:29:40 · 1446 阅读 · 0 评论 -
全志R128硬件设计指南①
当使用外部 DCDC 或 LDO为 R128 的 VDD_IO1、VDD_IO2和 VDD_IO_5VTOL进行供电时,为避免电源从 IO漏电导致 SOC启动失败,建议使用 EXT_LDO(pin VDD_3V3)对外部 DCDC或 LDO 进行时序控制。支持 1 路 GPADC 接口,12bit采样分辨率,9bit采样精度,单通道最高采样率为 1MHz,最大支持 8 通道,可以用作按键功能或采集电池电压使用。VDD_SYS1、VDD_SYS2建议各放置 1 个 1uF电容,靠近管脚放置;原创 2024-01-04 09:22:21 · 1768 阅读 · 0 评论 -
全志R128使用SPI驱动ST7789V1.47寸LCD
同时,提供了 SPILCD 驱动框架以供 SPI 屏幕使用。此次适配的SPI屏为,使用的是 SPI 进行驱动。原创 2024-01-02 09:44:52 · 1221 阅读 · 0 评论 -
全志R128入门编写HelloWorld
本文将介绍使用 R128 开发板从串口输出 HelloWorld 的方式介绍 SDK 软件开发流程。原创 2023-12-29 09:37:12 · 528 阅读 · 0 评论 -
全志R128 DSP开发工具安装教程
其中 Allwinner 提供 DSP 核 SDK 源码包,IDE 工具和 Licence 需要向 Cadence 申请。Allwinner 不提供 IDE 工具和 Licence 的授权。当想自定义编译环境或者排除编译环境问题,可以通过检查以上宏是否设置正确。点击 Next -> Next -> Next -> Next。脚本同时导出一些命令,用于快速执行某些命令操作。Windows 下直接双击安装文件进行安装。找到 package 的 tgz 文件。发帖询问,有相关的专人对接。可以通过客服,或者前往。原创 2023-12-28 17:20:40 · 2528 阅读 · 0 评论 -
详解全志R128 RTOS安全方案功能
R128 FreeRTOS 系统上支持如下安全功能Arm M33 Star TrustZone 与 Arm A 系列的 TrustZone 类似,在设计上,处理器都具有安全与非安全状态,非安全软件只能访问非安全内存。与 Arm A 处理器中的 TrustZone 技术不同, Arm M33 Star 的 Secure 和 Normal 世界是基于内存映射的,转换在异常处理中自动发生。原创 2023-12-28 15:58:36 · 2326 阅读 · 0 评论 -
纵享丝滑!全志R128+LVGL驱动多尺寸RGB LCD屏幕流畅运行
新晋点屏神器,R128!各种屏幕都能点!高刷、大屏、宽色域......通常来讲,显示器的配置越高,越能给使用者带来优于其它一般配置显示器的体验。但就某些特殊的使用场景来讲,选择配置合适的显示屏幕,才能更精准地匹配上实际的使用需求。无论是工控监视设备、平板电脑、笔记本电脑等带屏产品,还是平时开发者在DIY掌机、小电脑、桌面机器人等电子设备时,都需要通过使用不同尺寸的RGB屏幕来满足特定的需求。原创 2023-12-22 09:51:38 · 2200 阅读 · 0 评论 -
用全志R128复刻自平衡赛车机器人,还实现了三种不同的操控方式
本项目基于jjrobots的开源项目B-ROBOT EVO2进行复刻,与原开源项目不一样的地方是,作者将原本适配的的Arduino控制板移植为DShanMCU-R128s2-DevKit开发板,与此同时还添加了一些功能,比如自平衡功能、WiFi&蓝牙控制、App控制以及语音控制功能,让平衡小车的操控乐趣更上一层楼。原创 2023-12-20 10:16:49 · 1786 阅读 · 0 评论 -
全志R128使用RGB LCD移植方法教程
这里的示例以百问网的7寸(1024x600)、4寸方屏(480x480)、4寸圆屏RGB(480x480) LCD为例。原创 2023-12-18 17:02:29 · 715 阅读 · 0 评论 -
全志R128内存泄露调试案例
硬件:R128软件:FreeRTOS + rtplayer_test(Cedarx)+ AudioSystem。原创 2023-12-11 10:56:40 · 165 阅读 · 0 评论 -
详解全志R128GUI图形系统——LVGL篇
LVGL 是一个免费的开源图形库,提供了创建嵌入式GUI 所需的一切,具有易于使用的图形元素,美观的视觉效果和低内存占用,采用MIT 许可协议,可以访问LittlevGL官网获取更多资料。原创 2023-12-07 15:43:20 · 1199 阅读 · 0 评论 -
全志R128点屏SPI LCD颜色相关问题
虽然占用的是3个字节,但是没有CPU是3字节对齐的,所以需要一次性输入4字节,然后 DBI 硬件模块,会自动舍弃1个字节,软件同意舍弃了最后一个字节。因为屏幕是大端,而芯片存储方式是小端,所以芯片的 DBI 模块,会自动把数据从新排列,也就是实际上 DBI 发送数据时,会先发送。,对于SPI接口,是按字节发送。首先,得先确定显示屏使用的是SPI接口,还是DBI接口,不同的接口,输入数据的解析方式是不一样的。对于 DBI 格式,不再是以字节的形式去解析,而是以字的方式去解析,为了统一,软件已经规定了,原创 2023-12-06 09:48:54 · 329 阅读 · 0 评论 -
全志R128按键控制蜂鸣器GPIO配置详解
我们使用的开发板是 R128-Devkit,需要开发 C906 核心的应用程序,所以载入方案选择。GPIO 通常有多种功能,需要配置 MUX 选择需要的功能,使用。来设置 GPIO 的复用功能,这里配置为GPIO 输入模式(来设置 GPIO 的输入输出模式,这里配置为输入模式。编译固件后烧录,按下按键蜂鸣器会发出声音,同时串口输出。来获取 GPIO 的电平,这里配置。来配置 GPIO 的电平,这里配置。引脚为默认上拉状态。为高电平点亮 LED。为高电平点亮 LED。原创 2023-11-27 10:16:15 · 323 阅读 · 0 评论 -
全志R128芯片RTOS调试指南
taskname : 任务名字;可为NULL,表示回溯当前任务output : 栈回溯结果保存数组,可以为NULLsize : output数组大小,可为0offset : 栈回溯保存结果的偏移,可为0print_func : 打印函数,可用printflevel : 回溯层次参数addr : 待设置断点的地址返回值0 : 设置断点成功‑1 : 设置断点失败参数addr : 待设置断点的地址type : 观察点类型返回值0 : 设置观察点成功。原创 2023-11-22 11:01:17 · 925 阅读 · 1 评论