DshanMCU-R128s2 配置引脚复用

本文中的约定

  • 描述 GPIO 配置的形式:Port:端口 + 组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态>
  • 文中的 <X>=0,1,2,3,4,5…..,如 twi0,twi1….;uart0,uart1….。
  • 文中的 {PROJECT} 代表不同的方案,例如 module 方案。

引脚配置文件配置复用

R128 平台使用 sys_config.fex 作为引脚配置文件,他会在打包时打包编译进入系统,在系统运行时会解析并配置,系统解析 sys_config.fex 的驱动配置位于 lichee\rtos-components\aw\sys_config_script 中。

对于配置引脚复用,只需要修改 board\r128s2\{PROJECT}\config\sys_config.fex 文件即可。

GPIO描述格式

Port:端口 + 组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态>

示例

uart_tx = port:PA16<5><1><2><0>|----------------------> 端口号 PA|--------------------> 序号 19|------------------> 功能分配 5 (参考 PINMUX)|---------------> 内部电阻状态为 1  |------------> 驱动能力为 2|---------> 默认输出电平 0

[product]

配置文件信息

配置项配置项含义
version配置的版本号
machine方案名字

示例

[product]
version = "100"
machine = "module"

[target]

启动介质配置

配置项配置项含义
storage_type启动介质选择
0:nand
1:sd
2:emmc
3:spinor
4:emmc
5:spinand
6:sd
-1:(defualt) 自动扫描启动介质

示例

[target]
storage_type    = 3

对于内置 SPI NOR 的 R128 平台,请配置为 3

[platform]

配置 boot0 调试信息打印

配置项配置项含义
debug_mode配置0时,boot0 不打印调试信息,配置不为0时打印

示例

[platform]
debug_mode = 2

[uart_para]

boot0 调试串口配置

配置项配置项含义
uart_debug_portboot0 调试输出串口使用的串口号
uart_debug_txboot0 调试串口 tx 使用的引脚
uart_debug_rxboot0 调试串口 rx 使用的引脚

示例

[uart_para]
uart_debug_port = 0
uart_debug_tx   = port:PA16<5><1><default><default>
uart_debug_rx   = port:PA17<5><1><default><default>

[uartX]

UART 引脚配置

配置项配置项含义
uart_txUART TX 的 GPIO 配置
uart_rxUART RX 的 GPIO 配置
uart_typeUART 类型,有效值为:2/4/8; 表示 2/4/8 线模式

示例

[uart0]
uart_tx         = port:PA16<5><1><default><default>
uart_rx         = port:PA17<5><1><default><default>

[twiX]

TWI 引脚配置

配置项配置项含义
twiX_sckTWI 的时钟的 GPIO 配置
twiX_sdaTWI 的数据的 GPIO 配置

[sdcX]

SDIO,MMC 引脚配置

配置项配置项含义
card_ctrl控制器
card_high_speed速度模式 0 为低速,1 为高速
card_line1,4 线卡可以选择
sdc_d1sdc 卡数据 1 线信号的 GPIO 配置
sdc_d0sdc 卡数据 2 线信号的 GPIO 配置
sdc_clksdc 卡时钟信号的 GPIO 配置
sdc_cmdsdc 命令信号的 GPIO 配置
sdc_d3sdc 卡数据 3 线信号的 GPIO 配置
sdc_d2sdc 卡数据 4 线信号的 GPIO 配置

示例

[sdc0]
card_ctrl       = 0
card_high_speed = 0
card_line       = 4
sdc_d1          = port:PA27<2><1><3><default>
sdc_d0          = port:PA26<2><1><3><default>
sdc_clk         = port:PA29<2><1><3><default>
sdc_cmd         = port:PA25<2><1><3><default>
sdc_d3          = port:PA24<2><1><3><default>
sdc_d2          = port:PA28<2><1><3><default>

[sdcXdet_para]

卡检测引脚配置

配置项配置项含义
sdcX_det卡插入检测脚

示例

[sdc0det_para]
sdc0_det        = port:PA23<0><1><3><default>

[usbX]

USB 配置

配置项配置项含义
usb_usedUSB使能标志。置1,表示系统中USB模块可用,置0,则表示系统USB禁用。
usb_port_typeUSB端口的使用情况。 0: device only;1: host only;2: OTG
usb_detect_typeUSB端口的检查方式。0: 不做检测;1: vbus/id检查;2: id/dpdm检查
usb_detect_modeUSB端口的检查方式。0: 线程轮询;1: id中断触发
usb_id_gpioUSB ID pin脚配置
usb_det_vbus_gpioUSB DET_VBUS pin脚配置
usb_drv_vbus_typevbus设置方式。0: 无; 1: gpio; 2: axp。
usb_det_vbus_gpio“axp_ctrl”,表示 axp 提供。
usbh_driver_levelusb驱动能力等级
usbh_irq_flagusb中断标志

示例

[usbc0]
usb_used                = 1
usb_port_type           = 2
usb_detect_type         = 1
usb_detect_mode         = 0
usb_id_gpio             = port:PB04<0><0><default><default>
usb_det_vbus_gpio       = port:PA24<0><0><default><default>
usb_drv_vbus_gpio       = port:PA29<0><0><default><default>
usb_drv_vbus_type       = 1
usbh_driver_level       = 5
usbh_irq_flag           = 0

[audiocodec]

内置 audiocodec 配置

配置项配置项含义
dacl_volDAC L 音量
dacr_volDAC R 音量
lineout_volLINEOUT 音量
lineoutl_enLINEOUTL 使能
lineoutr_enLINEOUTR 使能
mic1_gainMIC1 增益
mic2_gainMIC2 增益
mic3_gainMIC3 增益
mic1_enMIC1 启用
mic2_enMIC2 启用
mic3_enMIC3 启用
mad_bind_enMAD 模块绑定
pa_pin_msleep功放使能引脚延时
pa_pin功放使能引脚

示例

[audiocodec]
dacl_vol	= 129
dacr_vol	= 129
lineout_vol	= 5
lineoutl_en	= 1
lineoutr_en	= 0
mic1_gain	= 19
mic2_gain	= 19
mic3_gain	= 0
mic1_en		= 1
mic2_en		= 1
mic3_en		= 1
mad_bind_en	= 0
pa_pin_msleep	= 10
pa_pin		= port:PB3<1><default><1><1>

[daudio0]

数字音频配置

配置项配置项含义
i2s_mclkI2S MCLK 引脚配置
i2s_bclkI2S BCLK 引脚配置
i2s_lrckI2S LRCK 引脚配置
i2s_dout0I2S DOUT0 引脚配置
i2s_din0I2S DIN0 引脚配置

示例

[daudio0]
i2s_mclk                    = port:PA23<2><0><1><default>
i2s_bclk                    = port:PA20<2><0><1><default>
i2s_lrck                    = port:PA19<2><0><1><default>
i2s_dout0                   = port:PA22<2><0><1><default>
i2s_din0                    = port:PA21<2><0><1><default>

[dram_para]

此项配置仅为兼容配置,实际有用配置项为 dram_clkdram_no_lpsram ,其余 dram_para 参数没有实际意义。

配置项配置项含义
dram_clk如果不为 0,初始化 hspsram
dram_no_lpsram如果为 0,初始化 lspsram
[dram_para]
dram_clk       = 800
dram_type      = 0xB
dram_zq        = 0x3dbdfda0
dram_odt_en    = 0x1
dram_para1     = 0x000010f2
dram_para2     = 0x02000000
dram_mr0       = 0x1c70
dram_mr1       = 0x42
dram_mr2       = 0x8
dram_mr3       = 0x0
dram_tpr0      = 0x004A2195
dram_tpr1      = 0x02423190
dram_tpr2      = 0x0008B061
dram_tpr3      = 0xB4787896
dram_tpr4      = 0x0
dram_tpr5      = 0x48484848
dram_tpr6      = 0x48
dram_tpr7      = 0x1
dram_tpr8      = 0x0
dram_tpr9      = 0x00
dram_tpr10     = 0x0
dram_tpr11     = 0x00000000
dram_tpr12     = 0x00000000
dram_tpr13     = 0x34050f00
dram_no_lpsram = 0x0

[lcd_fb0]

SPI LCD 配置

SPI LCD 配置项目较多,部分详细描述可以参照 显示框架

配置项配置项含义
lcd_used启用 LCD
lcd_model_namelcd 屏模型名字,非必须,可以用于同个屏驱动中进一步区分不同屏。
lcd_driver_namelcd面板驱动名称,必须与屏驱动中strcut __lcd_panel变量的name成员一致。
lcd_xlcd X像素
lcd_ylcd Y像素
lcd_widthlcd 物理宽度(单位mm)
lcd_heightlcd 物理高度(单位mm)
lcd_data_speedlcd 数据速率
lcd_pwm_usedlcd 背光使用 pwm
lcd_pwm_chlcd 背光使用的 pwm 通道
lcd_pwm_freqlcd 背光使用的频率
lcd_pwm_pollcd 背光使用的相位
lcd_if0:SPI接口(spi 接口就是俗称的 4 线模式,这是因为发送数据时需要额外借助 DC 线来区分命令和数据,与sclk,cs 和 sda 共四线)
1:DBI接口(如果设置了 dbi 接口,那么还需要进一步区分 dbi 接口,需要设置lcd_dbi_if)
lcd_pixel_fmt选择传输数据的像素格式
lcd_dbi_fmt0:RGB111
1:RGB444
2:RGB565
3:RGB666
4:RGB888
lcd_dbi_clk_mode选择 dbi 时钟的行为模式
lcd_dbi_te使能 te 触发
fb_buffer_num显示 framebuffer 数量,为了平滑显示,这里一般是 2 个,为了省内存也可以改成 1。
lcd_dbi_if0:L3I1
1:L3I2
2:L4I1
3:L4I2
4:D2L1
lcd_rgb_order输入图像数据 rgb 顺序识别设置
lcd_fps设置屏的刷新率,单位 Hz
lcd_spi_bus_num选择 spi 总线 id
lcd_frmfrm抖动控制
lcd_gamma_engamma控制使能
lcd_backlight背光
lcd_gpio_0用户定义IO定义,一般作为RST

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

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

相关文章

『居善地』接口测试 — 20.Mock功能介绍

1、Mock功能介绍 各个业务系统都会关联多个三方系统接口调用&#xff0c;在测试过程中第三方业务存在不能及时提供接口调用&#xff0c;这时就需要用到我们的mock服务了。 Mock的本质在于模拟三方业务接口的返回&#xff0c;来满足自身的测试功能&#xff0c;快速完成测试任务…

The engine “node“ is incompatible with this module.解决方法

安装依赖库报如下异常 [2/4] Fetching packages... error marked11.1.0: The engine "node" is incompatible with this module. Expected version "> 18". Got "16.14.0" error Found incompatible module. info Visit https://yarnpkg.com…

docker安装ES:7.8和Kibana:7.8

本文适用于centos7,快速入手练习es语法 前置&#xff1a;安装docker教程docker、docker-component安装-CSDN博客 1.安装es 9200为启动端口&#xff0c;9300为集群端口 docker pull elasticsearch:7.8.0mkdir -p /mydata/elasticsearch/pluginsmkdir -p /mydata/elasticsear…

python核心阶段(七)—— 包&模块以及虚拟环境

1.包&模块 概念解释 模块&#xff1a;为了使代码容易维护&#xff0c;可以将一组功能相关的代码写入一个单独的.py文件中&#xff0c;这 个.py文件就被称作一个模块 包&#xff1a; 包是指一个有层次的文件目录结构&#xff0c;它包含多个相关模块或子包&#xff1b; 它…

李群与李代数

群实际上就是一个特殊的集合&#xff0c;这个集合满足几个特点&#xff1a; 封闭性&#xff0c;就是对某种运算封闭&#xff0c;两个元素运算的结果仍然属于该集合结合性&#xff0c;结合律幺元&#xff0c;也就是存在一个“1”逆&#xff0c;也就是逆也在该集合中&#xff0c…

基于MybatisPlus批量高效插入百万条数据

引言 在JAVA程序开发中&#xff0c;对数据库进行大量数据插入是一个常见的操作&#xff0c;作为一个软件开发工程师&#xff0c;大批量的数据处理是日常工作&#xff0c;如何优化插入性能&#xff0c;提升数据处理效率是对大多数工程师的一个重要考验。本文将围绕逐条插入和批…

随时随地安心工作:迅软DSE保护您手机办公中的关键数据

互联网的快速发展让移动办公成为了日常工作中的一部分&#xff0c;同时企业数据加密的需求也已经不仅仅局限于内部终端&#xff0c;对于灵活的手机移动端也同样需要进行合法合规的数据安全管控。 迅软DSE数据防泄密系统提供移动端管理模块&#xff0c;支持Android、IOS移动客户…

BearPi Std 板从入门到放弃 - 引气入体篇(11)(SPI驱动 TFT LCD(ST7789))

简介 SPI 驱动 ST7789V2 进行字符显示, 并且使用中文库显示中文信息。主芯片: STM32L431RCT6LED : PC13 \ 推挽输出即可 \ 高电平点亮串口: Usart1 / LPUARTSPI(与LCD数据传输) : SPI2LCD_RESET&#xff08;复位引脚&#xff09;: PC7 \ 推挽输出即可 LCD_POWER&#xff08;…

通过几个基本概念说一下为什么openGauss是当下之选?

Database、Schema、User都是数据库的基本概念&#xff0c;SQL标准中也有明确规范。但不同数据库的具体实现也不尽相同&#xff0c;有些甚至大相径庭。这就导致用户在做国产化选型和数据库迁移时可能会遇到种种困难。本文从这几个基本概念展开&#xff0c;说说为什么openGauss系…

ne_110m_admin_0_countries_1

由于sql太大&#xff0c;所以分成了4份 ne_110m_admin_0_countries_1-CSDN博客 ne_110m_admin_0_countries_2-CSDN博客 ne_110m_admin_0_countries_3-CSDN博客 ne_110m_admin_0_countries_4-CSDN博客 insert into sde.ne_110m_admin_0_countries (objectid,featurecla,sc…

CHARLS CLHLS CFPS公共数据库, 最新文章|周报(12.6)

欢迎参加郑老师2023年孟德尔随机化课程即将开始 发表文章后退款&#xff01;郑老师科研统计课程详情 CHARLS公共数据库 CHARLS数据库简介中国健康与养老追踪调查(China Health and Retirement LongitudinalStudy&#xff0c;CHARLS)是一项持续的纵向调查&#xff0c;旨在调查中…

Stable Diffusion Windows 部署简单认知

写在前面 偶然看到&#xff0c;简单了解博文为 SD 部署&#xff0c;以及简单使用&#xff0c;部署过程遇到问题解决理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&#xff0c;永不停息。…

基于html+javascript开发的base64解码工具

base64在线解码工具可以帮助你将Base64编码的字符串解码为原始的文本或数据。 预览入口 以下是一个简单的base64在线解码工具的示例&#xff1a; html <!DOCTYPE html> <html> <head> <title>Base64在线解码工具</title> </head>…

pnpm :无法加载文件 D:\nodejs\node_global\pnpm.ps1,因为在此系统上禁止运行脚本

目录 一、问题描述 二、原因分析 三、解决问题 一、问题描述 pnpm : 无法加载文件 D:\learningsoftware\nodejs\node_global\pnpm.ps1&#xff0c;因为在此系统上禁止运行脚本。有关详细信息&#xff0c;请参阅 https:/go.microsoft.com/fwlink/?LinkID1351 70 中的 a…

大象机器人发布万元级水星Mercury人形机器人产品系列,联结未来,一触即达!

十四五机器人产业发展规划指出机器人的研发、制造、应用是衡量一个国家科技创新和高端制造业水平的重要标志。当前&#xff0c;机器人产业蓬勃发展&#xff0c;正极大改变着人类生产和生活方式&#xff0c;为经济社会发展注入强劲动能。 人形机器人作为机器人产业中重要的一环&…

Java异常类分类,所有子类的父类是什么

1.异常的层次机构&#xff1a; 所有异常的父类是Throwable&#xff0c;它有两个子类&#xff0c;分别是Error和Exception。 2.Error&#xff1a; 表示系统错误&#xff0c;通常不能处理和恢复。比如StackOverFlowError或者OutOfMemoryError&#xff0c;出了问题只能结束程序…

java常用密码简介及代码实现

Base64 简介 Base64是基于64个可打印字符(a-z,A-Z,0-9,、/)来显示2进制数据&#xff0c;它用于传输8Bit字节代码&#xff0c;并在网络传输中广泛应用或者本地存储字节数组。不是加密和解密 使用示例 public class Base64Test {public static final String UTF StandardChars…

Grafana安装zabbix插件

文章目录 一、在线安装zabbix插件二、离线安装1.下载安装2.grafana配置zabbix数据源 一、在线安装zabbix插件 如果grafana服务器可以联网即可在线安装。 安装方法官网上有&#xff1a;官网链接联网安装比较慢。 二、离线安装 1.下载安装 官网下载链接 [rootnode1 src]# mo…

Js 对象如何判断对象自身为空

1.JSON.stringify() JSON.stringify({}) "{}" 缺点&#xff1a;如果存在 undefined/任意函数/symbol值 会被忽略或转成null 2. for in 配合 hasOwnProperty 缺点: 不能遍历不可枚举属性 3. Object.keys(obj).length 0 缺点: 不能遍历不可枚举属性 4. Obj…

猫罐头哪个品牌好?五款性价比高的猫罐头推荐

很多新手养猫的姐妹们都会为选罐头感到焦虑&#xff01;但是每种罐头都有优缺点&#xff0c;每只猫咪的胃口也都不同&#xff0c;只有适合自家猫的才是最好的。所以姐妹们在选罐头之前可以先做好功课&#xff0c;了解一下怎么选好的罐头。 作为家里有3只猫的铲屎官来说&#xf…