此脚本的作用之一是配置GPIO的默认状态:
如:功能,内部电阻状态,驱动能力等。
1.但是直接打开script.bin 文件则会出现乱码,那么我们怎么才可以打开并更改该脚本的配置呢?
在路径uboot_kernel/orangepi_sdk/toolchain/sunxi-tools/目录下找到bin2fex,fex2bin,sunxi-fexc三个文件复制到pc机的 /bin目录下;
如果找不到这三个文件执行一次make命令,就会自动生成,再执行上步;
2.将sd卡的script.bin文件复制到共享目录里,再pc机上执行“bin2fex script.bin xxx.fex”,将script.bin 文件转换为xxx.fex格式,此时就可以打开更改了,具体更改可以参考 uboot_kernel/orangepi_sdk/doc/H3-script.fex.pdf文档
3.更改完成以后执行“fex2bin xxx.fex script.bin” 然后再将script.bn文件写回sd卡
二、在script.fex里的GPIO配置:
Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态>
1 [gpio_para] 2 gpio_used = 1 3 ;gpio_num = 30 4 ;gpio_pin_1 = port:PL10<1><default><default><1> 5 ;gpio_pin_2 = port:PA15<1><default><default><0> 6 ... 7 8 功能分配(PA15): 000:输入, 001:输出, 010:SPI1_MOSI 9 011:UART3_RTS , 110:PA_EINT15, 111:IO Disable 10 默认值:7 11 12 内部电阻状态(PA15): 00: Pull-up/down disable , 01: Pull-up 13 10: Pull-down, 11: Reserved 14 默认值:0 15 16 驱动能力(指输出的电流大小,等级越高,电流越大): 17 00: Level 0 , 01: Level 1 18 10: Level 2 , 11: Level 3 19 默认值: 1 20 21 输出电平状态: 当功能选择输出时,1表示输出高电平, 0表示输出低电平 22 23 如:gpio_pin_12 = port:PA07<6><2><3><0>