先找硬件工程师拿到电路图,然后以源码上Demo的电路主板文件为基础,根据实际的主板电路来修改出新的主板配置文件。
此处以笔记(一)中介绍过的主板 VP58G11 主板为例,重新配置一款适合的主板文件
Board.h文件找到各个主板的 PCB ID定义,依葫芦画瓢的添加
参考现有的命名规则:MainBoard_芯片名字_支持通道_主板名字
根据芯片名字58后面的 数字 或 字母 来确定芯片的类型:
TSUMU588HG/TSUMP589MG = CHIP_TSUM9
TSUMU58CDT9 = CHIP_TSUMC
TSUMO58FDT9 = CHIP_TSUMF
搜索 MainBoard_TSUMP589MG_DP,同样依葫芦画瓢的添加相关配置
找到 bd_TSUMP589MG_H.h 文件,copy一份出来作为VP58G11的主板文件。开始根据VP58G11的原理图来配置
首先照抄 MainBoard_TSUMP589MG_H 配置。
分析下配置里面是什么功能:(默认存在VGA)
#define INPUT_TYPE INPUT_1A1H //主板输入类型
#define ENABLE_HDMI 1 //是否支持HDMI
#define ENABLE_HDMI_1_4 0 //是否支持DP
#define ENABLE_MHL_C1 0 //是否支持MHL_C1
#define ENABLE_MHL_C2 0 //是否支持MHL_C2
#define ENABLE_MHL_C3 0 //是否支持MHL_C3
#define ENABLE_MHL (ENABLE_MHL_C1|ENABLE_MHL_C2|ENABLE_MHL_C3) //是否支持MHL
#define ENABLE_DVI 0 //是否支持DVI
#define ENABLE_DP_INPUT 0 //是否支持DP
#define ENABLE_LED_CONTROLLER 0 //LED控制相关配置
#define AudioFunc 0 //配置音频功能
#define NEW_SOG_DET 1 //SOG是否支持
打开MainBoard_TSUMU588HG_1A1H_VP58G11文件进行配置
一般来说就是配信号端口和IO口(其他的暂时不作介绍
)
VGA信号端口只有默认的一组,不用配
因为该芯片的功能和大小原因,HDMI信号端口只有一组默认端口,默认配置第一组C1
接下来就是各IO口配置,需要按照电路图一个一个确认正确
(1)声音曲线配置为PWM1控制
MEM_MSWRITE_BYTE_MASK(REG_020A, BIT1, BIT1)
这句话意思就是写寄存器REG_020A的BIT1位为1
_REG_GPIO1_OEZ 是配置IO口 (输入/输出) 的意思
_REG_GPIO1_OUT 是配置IO口输出 (高/低) 的意思
#define hw_SetFlashWP()
MEM_MSWRITE_BIT(_REG_GPIO1_OUT, 0, BIT0)//配置 GPIO1 的 bit0 输出 低
#define hw_ClrFlashWP()
MEM_MSWRITE_BIT(_REG_GPIO1_OUT, 1, BIT0)//配置 GPIO1 的 bit0 输出 高
#define Init_hwFlash_WP_Pin()
MEM_MSWRITE_BIT(_REG_GPIO1_OEZ, 0, BIT0)//配置 GPIO1 的 bit0 为输出
MEM_MSWRITE_BIT(_REG_GPIO2_OEZ, 0, BIT2)
配置 GPIO2 的 bit2 为输出
( _ bit2 _(MEM_MSREAD_BYTE(_REG_GPIO2_IN)))
读取 _REG_GPIO2_IN 的 bit2
(4)初始化I2C
可以在这里增减对应的I2C初始化