昆山做网站费用,网络公司门头,域名估价网站,wordpress移动端导航菜单加文字1. 版本管理
1.1 初始化git仓库 git init 生成一个.git 目录 git config --global user.name 用户名 git config --global user.email 邮箱 1.2 查看.gitignore vim .gitignore 1.3 添加删除到缓存区
git status 查看状态 git add 文件名 git rm 文件名
1.4 提交当前记录
…1. 版本管理
1.1 初始化git仓库 git init 生成一个.git 目录 git config --global user.name 用户名 git config --global user.email 邮箱 1.2 查看.gitignore vim .gitignore 1.3 添加删除到缓存区
git status 查看状态 git add 文件名 git rm 文件名
1.4 提交当前记录
git commit -m 说明
1.5 查看提交记录
git log
1.6 查看当前分支
git branch
1.7 创建分支
git branch 分支名
1.8 切换分支
git checkout 分支名
2. 叒叕点亮LED
通过linux自带的gpio-leds驱动实现改驱动通过调用Pinctrl子系统和GPIO子系统实现LED灯的控制
2.1 IOMUX介绍
IOMUX是指IO引脚功能多路复用其对应的引脚功能可以看05-硬件资料\05-4 管脚分配表\ELF 1引脚复用对照表-20230921.xlsx在表中Alt0为默认功能后面的Alt[数字]列为可以复用功能复用为GPIO需要配置为Alt5相关的寄存器配置可以查看IMX6ULLRM.pdfchapter 32.6 中关于SW_MUX_CTL寄存器描述 a. 常用的寄存器类型 电气属性寄存器IOMUXC_SW_PAD_CTL_PAD_* 20E_0204-20E_048F 复用寄存器IOMUXC_SW_MUX_CTL_PAD_* 20E_0044-20E_0203 b. 怎么进行配置(可以看后面程序理解) 在arch/arm/boot/dts/dts文件名文件中添加对iomuxc的描述定义pinctrl_leds0添加fsl,pins信息 信息按照复用寄存器偏移值 电气属性寄存器偏移值输入寄存器偏移值复用模式输入值, 电气寄存器的值 排列每行只描述一个引脚的各个值 举个例子 首先利用arch/arm/boot/dts/imx6ull-pinfunc.h的定义的宏 #define MX6UL_PAD_UART1_CTS_B__GPIO1_IO18 0x008c 0x0318 0x0000 5 0 其排列顺序参照下列描述
/*
14 * The pin function ID is a tuple of
15 * mux_reg conf_reg input_reg mux_mode input_val
16 */0x008c代表复用寄存器相较于基地址的偏移量 0x0318 代表模式控制寄存器相较于基地址的偏移量 5 代表 复用模式为寄存器描述的GPIO1_IO18
0101 ALT5 — Select mux mode: ALT5 mux port: GPIO1_IO18 of instance: gpio1其次在fsl,pins中添加
fsl,pins MX6UL_PAD_UART1_CTS_B__GPIO1_IO18 0x10b0;0x10b0代表将电气属性寄存器配置为Pull/Keeper Enabled速度 medium(100MHz)Drive Strength Field 为DSE_6_R0_6 — R0/6
2.2 硬件说明
2.2.1 原理图
硬件上有三个led灯分别连接着第60、64、30号引脚当GPIO输出配置为低电平时导通LED点亮 2.2.2 引脚说明
引脚的相关宏定义在以下两个文件 arch/arm/boot/dts/imx6ull-pinfunc.h arch/arm/boot/dts/imx6ul-pinfunc.h 如果查找对应引脚的GPIO号通过vi arch/arm/boot/dts/imx6ul-pinfunc.h进入文件在命令模式下使用/GPIO号查找名称末尾为复用中描述的GPIO名称例如用/GPIO1_IO10查找*GPIO1_IO10*宏 序号名称引脚GPIO60LED_RP15_JTAG_MODgpio1_IO1064LED_GK13_GPIO_0gpio1_IO0030LED_YK15_SD1_WPgpio1_IO18
2.3 程序配置说明
2.3.1 IOMUX配置
在arch/arm/boot/dts/imx6ull-elf1-emmc.dts文件的末位新增关于IOMUX的描述如下
iomuxc {pinctrl_leds0:leds0grp{fsl,pins MX6UL_PAD_UART1_CTS_B__GPIO1_IO18 0x10b0MX6UL_PAD_JTAG_MOD__GPIO1_IO10 0x10b0MX6UL_PAD_GPIO1_IO00__GPIO1_IO00 0x10b0;};
};ps. 注意标点符号的规范0x10b0是对电气寄存器的配置
2.3.2 设备树配置
将arch/arm/boot/dts/imx6ull-elf1-emmc.dts设备树描述文件中的根目录/下添加对led的文本说明 leds {compatible gpio-leds;pinctrl-names default;pinctrl-0 pinctrl_leds0 ;status okay;led1{lable led1;gpios gpio1 10 GPIO_ACTIVE_LOW;default-state on;};led2{lable led2;gpios gpio1 0 GPIO_ACTIVE_LOW;default-state on;};led3{lable led3;gpios gpio1 18 GPIO_ACTIVE_LOW;default-state on;};};解释 compatible: 兼容表示该设备可以被一个或多个驱动匹配此处匹配gpio-leds驱动 定义的pinctrl_leds0标签在此处使用 status 设置为 “okay” 表示 LED可用 gpios表示对映的引脚和极性GPIO_ACTIVE_LOW 或GPIO_ACTIVE_HIGH default-state 表示默认状态有off和on两种状态
2.3.3 生成镜像和设备树
make menuconfig
make -j2在menuconfig中按/LEDS_GPIO”查找选中保证该驱动已经编译进内核
2.3.4 拷贝下载验证
将相关镜像和设备树发送到开发板
scp arch/arm/boot/dts/imx6ull-elf1-emmc.dtb root192.168.0.232:/run/media/mmcblk1p1/
scp arch/arm/boot/zImage root192.168.0.232:/run/media/mmcblk1p1/
在开发板保存重启
sync
reboot更改前 更改后 现在可以通过操作文件点灯
echo 0 /sys/class/leds/led1/brightness
echo 1 /sys/class/leds/led1/brightness