S905串口控制IO口操作.
来源:互联网 发布:汽车产销数据平台 编辑:程序博客网 时间:2024/06/03 11:00
串口控制IO口操作.
#su
mount -t debugfs debugfs /sys/kernel/debug
cd /sys/kernel/debug/aml_reg/
read reg:
echo abs_physical_addr > paddr
cat paddr
write reg:
echo abs_physical_addr value > paddr // value should be hex but do not have 0x head
dump reg:
echo abs_physical_addr cnt > dump
abs_physical_addr 的物理地址计算方法:
通过查看uboot/arch/arm/include/asm/arch-gxb/secure_apb.h 文件
比如GPIOY_9 对应的是reg1, #define PREG_PAD_GPIO1_EN_N (0xc8834400 + (0x0f << 2))
对应的物理地址是: 0xc8834400+0x0f*4=0xc883443c
GPIOY_9代码修改:uboot里面
clrbits_le32(PERIPHS_PIN_MUX_1, 1 << 6);//清除pinmux reg1_6
clrbits_le32(PERIPHS_PIN_MUX_2, 1 << 16);//清除pinmux reg2_16
clrbits_le32(PERIPHS_PIN_MUX_3, 1 << 5);//清除pinmux reg3_5
clrbits_le32(PREG_PAD_GPIO1_EN_N, 1 << 9);//设置为输出模式
clrbits_le32(PREG_PAD_GPIO1_O, 1 << 9);//输出0
内核里面的控制:
void __iomem *base;
host->base = ioremap(0xc8834400, 0x200);//0x200 表示长度
u32 ret;
ret= readl(host->base + (0x10 << 2));
ret |= (1 << 9);
writel(ret, host->base + (0x10 << 2)); writel(ret, host->base + (0x10 << 2));
#su
mount -t debugfs debugfs /sys/kernel/debug
cd /sys/kernel/debug/aml_reg/
read reg:
echo abs_physical_addr > paddr
cat paddr
write reg:
echo abs_physical_addr value > paddr // value should be hex but do not have 0x head
dump reg:
echo abs_physical_addr cnt > dump
abs_physical_addr 的物理地址计算方法:
通过查看uboot/arch/arm/include/asm/arch-gxb/secure_apb.h 文件
比如GPIOY_9 对应的是reg1, #define PREG_PAD_GPIO1_EN_N (0xc8834400 + (0x0f << 2))
对应的物理地址是: 0xc8834400+0x0f*4=0xc883443c
GPIOY_9代码修改:uboot里面
clrbits_le32(PERIPHS_PIN_MUX_1, 1 << 6);//清除pinmux reg1_6
clrbits_le32(PERIPHS_PIN_MUX_2, 1 << 16);//清除pinmux reg2_16
clrbits_le32(PERIPHS_PIN_MUX_3, 1 << 5);//清除pinmux reg3_5
clrbits_le32(PREG_PAD_GPIO1_EN_N, 1 << 9);//设置为输出模式
clrbits_le32(PREG_PAD_GPIO1_O, 1 << 9);//输出0
内核里面的控制:
void __iomem *base;
host->base = ioremap(0xc8834400, 0x200);//0x200 表示长度
u32 ret;
ret= readl(host->base + (0x10 << 2));
ret |= (1 << 9);
writel(ret, host->base + (0x10 << 2)); writel(ret, host->base + (0x10 << 2));
0 0
- S905串口控制IO口操作.
- IO设备控制IOCTL操作
- IO设备控制操作--DeviceIoControl
- Amlogic S905方案设计 S905方案
- Python通过pyserial控制串口操作
- 派遣函数(3) - IO设备控制操作
- 操作串口通信类(IO.Ports)-SerialPort
- 模拟串口的实现--单片机IO口
- 51单片机IO口仿串口-未完成
- 11.4 IO口模拟UART串口通信
- STM32 IO口模拟串口通讯
- php操作串口控制LED及读取文件
- stm32库函数IO口控制
- IO口的操作
- 串口操作
- 操作串口
- 串口操作
- 操作串口
- discuz 登录cookie有效期设置解析
- 判断是不是当前类对象
- STL基础
- 总结Android 性能优化的几个方面
- MySQL 时间戳转换成秒
- S905串口控制IO口操作.
- Android Studio使用技巧
- 学习心得
- Linux如何查看进程、杀死进程、启动进程等常用命令
- redis开启认证
- 你拍的最让你「惊喜」的照片是哪张?
- Ubuntu find命令使用
- 手把手教React Native实战开发视频教程 干货
- mysql 格式化日期 DATE_FORMAT,FROM_UNIXTIME,UNIX_TIME等