前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DshanMCU-R128s2 配置引脚复用

DshanMCU-R128s2 配置引脚复用

作者头像
韦东山
发布2023-12-23 08:52:49
1110
发布2023-12-23 08:52:49
举报
文章被收录于专栏:韦东山嵌入式韦东山嵌入式

本文中的约定

  • 描述 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描述格式
代码语言:javascript
复制
Port:端口 + 组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态>

示例

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

配置文件信息

配置项

配置项含义

version

配置的版本号

machine

方案名字

示例

代码语言:javascript
复制
[product]
version = "100"
machine = "module"
[target]

启动介质配置

配置项

配置项含义

storage_type

启动介质选择 0:nand 1:sd2:emmc3:spinor 4:emmc 5:spinand 6:sd -1:(defualt) 自动扫描启动介质

示例

代码语言:javascript
复制
[target]
storage_type    = 3

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

[platform]

配置 boot0 调试信息打印

配置项

配置项含义

debug_mode

配置0时,boot0 不打印调试信息,配置不为0时打印

示例

代码语言:javascript
复制
[platform]
debug_mode = 2
[uart_para]

boot0 调试串口配置

配置项

配置项含义

uart_debug_port

boot0 调试输出串口使用的串口号

uart_debug_tx

boot0 调试串口 tx 使用的引脚

uart_debug_rx

boot0 调试串口 rx 使用的引脚

示例

代码语言:javascript
复制
[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_tx

UART TX 的 GPIO 配置

uart_rx

UART RX 的 GPIO 配置

uart_type

UART 类型,有效值为:2/4/8; 表示 2/4/8 线模式

示例

代码语言:javascript
复制
[uart0]
uart_tx         = port:PA16<5><1><default><default>
uart_rx         = port:PA17<5><1><default><default>
[twiX]

TWI 引脚配置

配置项

配置项含义

twiX_sck

TWI 的时钟的 GPIO 配置

twiX_sda

TWI 的数据的 GPIO 配置

[sdcX]

SDIO,MMC 引脚配置

配置项

配置项含义

card_ctrl

控制器

card_high_speed

速度模式 0 为低速,1 为高速

card_line

1,4 线卡可以选择

sdc_d1

sdc 卡数据 1 线信号的 GPIO 配置

sdc_d0

sdc 卡数据 2 线信号的 GPIO 配置

sdc_clk

sdc 卡时钟信号的 GPIO 配置

sdc_cmd

sdc 命令信号的 GPIO 配置

sdc_d3

sdc 卡数据 3 线信号的 GPIO 配置

sdc_d2

sdc 卡数据 4 线信号的 GPIO 配置

示例

代码语言:javascript
复制
[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

卡插入检测脚

示例

代码语言:javascript
复制
[sdc0det_para]
sdc0_det        = port:PA23<0><1><3><default>
[usbX]

USB 配置

配置项

配置项含义

usb_used

USB使能标志。置1,表示系统中USB模块可用,置0,则表示系统USB禁用。

usb_port_type

USB端口的使用情况。 0: device only;1: host only;2: OTG

usb_detect_type

USB端口的检查方式。0: 不做检测;1: vbus/id检查;2: id/dpdm检查

usb_detect_mode

USB端口的检查方式。0: 线程轮询;1: id中断触发

usb_id_gpio

USB ID pin脚配置

usb_det_vbus_gpio

USB DET_VBUS pin脚配置

usb_drv_vbus_type

vbus设置方式。0: 无; 1: gpio; 2: axp。

usb_det_vbus_gpio

“axp_ctrl”,表示 axp 提供。

usbh_driver_level

usb驱动能力等级

usbh_irq_flag

usb中断标志

示例

代码语言:javascript
复制
[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_vol

DAC L 音量

dacr_vol

DAC R 音量

lineout_vol

LINEOUT 音量

lineoutl_en

LINEOUTL 使能

lineoutr_en

LINEOUTR 使能

mic1_gain

MIC1 增益

mic2_gain

MIC2 增益

mic3_gain

MIC3 增益

mic1_en

MIC1 启用

mic2_en

MIC2 启用

mic3_en

MIC3 启用

mad_bind_en

MAD 模块绑定

pa_pin_msleep

功放使能引脚延时

pa_pin

功放使能引脚

示例

代码语言:javascript
复制
[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_mclk

I2S MCLK 引脚配置

i2s_bclk

I2S BCLK 引脚配置

i2s_lrck

I2S LRCK 引脚配置

i2s_dout0

I2S DOUT0 引脚配置

i2s_din0

I2S DIN0 引脚配置

示例

代码语言:javascript
复制
[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

代码语言:javascript
复制
[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_name

lcd 屏模型名字,非必须,可以用于同个屏驱动中进一步区分不同屏。

lcd_driver_name

lcd面板驱动名称,必须与屏驱动中strcut __lcd_panel变量的name成员一致。

lcd_x

lcd X像素

lcd_y

lcd Y像素

lcd_width

lcd 物理宽度(单位mm)

lcd_height

lcd 物理高度(单位mm)

lcd_data_speed

lcd 数据速率

lcd_pwm_used

lcd 背光使用 pwm

lcd_pwm_ch

lcd 背光使用的 pwm 通道

lcd_pwm_freq

lcd 背光使用的频率

lcd_pwm_pol

lcd 背光使用的相位

lcd_if

0:SPI接口(spi 接口就是俗称的 4 线模式,这是因为发送数据时需要额外借助 DC 线来区分命令和数据,与sclk,cs 和 sda 共四线)1:DBI接口(如果设置了 dbi 接口,那么还需要进一步区分 dbi 接口,需要设置lcd_dbi_if)

lcd_pixel_fmt

选择传输数据的像素格式

lcd_dbi_fmt

0:RGB1111:RGB4442:RGB5653:RGB6664:RGB888

lcd_dbi_clk_mode

选择 dbi 时钟的行为模式

lcd_dbi_te

使能 te 触发

fb_buffer_num

显示 framebuffer 数量,为了平滑显示,这里一般是 2 个,为了省内存也可以改成 1。

lcd_dbi_if

0:L3I11:L3I22:L4I13:L4I24:D2L1

lcd_rgb_order

输入图像数据 rgb 顺序识别设置

lcd_fps

设置屏的刷新率,单位 Hz

lcd_spi_bus_num

选择 spi 总线 id

lcd_frm

frm抖动控制

lcd_gamma_en

gamma控制使能

lcd_backlight

背光

lcd_gpio_0

用户定义IO定义,一般作为RST

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-12-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本文中的约定
  • 引脚配置文件配置复用
    • GPIO描述格式
      • [product]
        • [target]
          • [platform]
            • [uart_para]
              • [uartX]
                • [twiX]
                  • [sdcX]
                    • [sdcXdet_para]
                      • [usbX]
                        • [audiocodec]
                          • [daudio0]
                            • [dram_para]
                              • [lcd_fb0]
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档