当前位置: 首页 > news >正文

网站维护 一年许昌旅游网站建设现状

网站维护 一年,许昌旅游网站建设现状,精品课网站建设 辽宁,东莞企业邮箱1.MMU简介 完成虚拟空间到物理空间的映射 内存保护设立存储器的访问权限#xff0c;设置虚拟存储空间的缓冲特性 stm32点灯可以直接操作寄存器#xff0c;但是linux点灯不能直接访问寄存器#xff0c;linux会使能mmu linux中操作的都是虚拟地址#xff0c;要想访问物理地…1.MMU简介 完成虚拟空间到物理空间的映射 内存保护设立存储器的访问权限设置虚拟存储空间的缓冲特性 stm32点灯可以直接操作寄存器但是linux点灯不能直接访问寄存器linux会使能mmu linux中操作的都是虚拟地址要想访问物理地址0x0a就得先搞清楚0xa对应的虚拟地址 获得物理地址对应的虚拟地址使用ioremap函数本质是个宏参数分别是物理地址启始大小要转换的字节数量 卸载驱动的时候用iounmap()卸载映射 stm32没有这个MMU其控制gpio直接操作寄存器就行在linux上由于这个内存映射在需要知道真实物理地址反推其虚拟地址才能像stm32一样操作寄存器 linux做驱动有配置设备树更高级的操作方式像这种操作寄存器的好似手动档 2.代码 驱动 #include linux/module.h #include linux/kernel.h #include linux/init.h #include linux/fs.h #include linux/slab.h #include linux/uaccess.h #include linux/io.h#define LED_MAJOR 200 #define LED_NAME led#define PMU_GRF_BASE (0xFDC20000) #define PMU_GRF_GPIO0C_IOMUX_L (PMU_GRF_BASE 0x0010) #define PMU_GRF_GPIO0C_DS_0 (PMU_GRF_BASE 0X0090) #define GPIO0_BASE (0xFDD60000) #define GPIO0_SWPORT_DR_H (GPIO0_BASE 0X0004) #define GPIO0_SWPORT_DDR_H (GPIO0_BASE 0X000C)/* 映射后的寄存器虚拟地址指针 */ static void __iomem *PMU_GRF_GPIO0C_IOMUX_L_PI; static void __iomem *PMU_GRF_GPIO0C_DS_0_PI; static void __iomem *GPIO0_SWPORT_DR_H_PI; static void __iomem *GPIO0_SWPORT_DDR_H_PI;static int led_open(struct inode* inode, struct file* filp){return 0; }static int led_release(struct inode* inode, struct file* filp){return 0; }static ssize_t led_write(struct file* filp, const char __user* buf, size_t count, loff_t* ppos){return 0; }/* 字符设备操作集*/ static const struct file_operations led_fops {.owner THIS_MODULE,.write led_write,.open led_open,.release led_release, };/*注册驱动加载卸载*/static int __init led_init(void){ // 入口// 初始化led灯int ret 0;u32 val 0;PMU_GRF_GPIO0C_IOMUX_L_PI ioremap(PMU_GRF_GPIO0C_IOMUX_L, 4);PMU_GRF_GPIO0C_DS_0_PI ioremap(PMU_GRF_GPIO0C_DS_0, 4);GPIO0_SWPORT_DR_H_PI ioremap(GPIO0_SWPORT_DR_H, 4);GPIO0_SWPORT_DDR_H_PI ioremap(GPIO0_SWPORT_DDR_H, 4);// 初始化// 设置GPIO0_c0为GPIO功能val readl(PMU_GRF_GPIO0C_IOMUX_L_PI);val ~(0x7 0); //最低三位置0val | ((0x7 16) | (0x0 0)); // 16 17 18位置1其他不变bit2:00用作GPIO0_C0writel(val, PMU_GRF_GPIO0C_IOMUX_L_PI);// 设置GPIO_C0驱动能力为level5val readl(PMU_GRF_GPIO0C_DS_0_PI);val ~(0x3f 0); // 0 ~ 5置0val | ((0x3f 16) | (0x3f 0)); // 16 ~ 21置10~5置1同时用作GPIO0c0writel(val, PMU_GRF_GPIO0C_DS_0_PI);// 设置GPIOO0_c0为输出val readl(GPIO0_SWPORT_DDR_H_PI);val ~(0x1 0); // 0置0val | ((0x1 16) | (0x1 0)); // 16置1,0置1writel(val, GPIO0_SWPORT_DDR_H_PI);// 设置GPIO_c0为低电平关闭LEDval readl(GPIO0_SWPORT_DR_H_PI);val ~(0x1 0);val | ((0x1 16) | (0x0 0));writel(val, GPIO0_SWPORT_DR_H_PI);// 开灯val readl(GPIO0_SWPORT_DR_H_PI);val ~(0X1 0); /* bit0 清零*/val | ((0X1 16) | (0X1 0)); /* bit16 置1允许写bit0bit0高电平*/ writel(val, GPIO0_SWPORT_DR_H_PI); // 注册字符设备ret register_chrdev(LED_MAJOR, LED_NAME, led_fops);if(ret 0){printk(register chrdev failed!\r\n);return -EIO;}printk(led_init\r\n);return 0; }static void __exit led_exit(void){ // 出口u32 val 0;// 关灯val readl(GPIO0_SWPORT_DR_H_PI);val ~(0X1 0); /* bit0 清零*/val | ((0X1 16) | (0X0 0)); /* bit16 置1允许写bit0bit0低电平 */writel(val, GPIO0_SWPORT_DR_H_PI); // 取消地址映射iounmap(PMU_GRF_GPIO0C_IOMUX_L_PI);iounmap(PMU_GRF_GPIO0C_DS_0_PI);iounmap(GPIO0_SWPORT_DR_H_PI);iounmap(GPIO0_SWPORT_DDR_H_PI);// 注销unregister_chrdev(LED_MAJOR, LED_NAME);printk(led_exit\r\n);}module_init(led_init); module_exit(led_exit);MODULE_LICENSE(GPL); MODULE_AUTHOR(Narnat);ioremap(PMU_GRF_GPIO0C_IOMUX_L, 4);将物理地址转虚拟内存 在程序挂载时初始化一些寄存器并点亮led灯卸载时关闭led灯 3.现象
http://www.hkea.cn/news/14574598/

相关文章:

  • 梁山网站建设哪家好ui设计岗位职责
  • 金融理财网站建设方案网站怎么分工做
  • 帝国cms网站建设兰州网站怎么建设
  • 优质服务的小企业网站建设大流量网站 优化
  • 网站qq号获取网站制作专业的公司
  • 手机响应式网站开发电商搜索关键词
  • 建筑参考网站那里有专门做印刷品的网站
  • 做微课常用的网站有哪些国家对网站建设补补贴
  • 网站建设费属于广告费用吗新颖的公司名字大全
  • 哪里有帮做微课的网站wordpress 3.3.2
  • 咸阳免费做网站怎么创建网站平台赚钱
  • 传播学视角下网站建设研究广西网站开发公司
  • 网站建设费汇算清缴WordPress极品主题
  • 滁州网站建设梦天堂合肥公司建设网站
  • 网站说服力 营销...wordpress上传文件自动按时间命名
  • vs设置网站开发环境网络营销运营推广
  • 大学网站建设图莱芜住房和城乡建设厅网站
  • 12306网站建设费用wordpress主题开发出
  • 福建seo网站廊坊视频优化效果
  • 南昌网站建设模板合作网站首页点击中文英文链接 翻译成对应的语言 怎么做
  • 企业的网站品牌推广自己建立旅游的网站建设
  • 网店网站建设规划方案做网站怎么实现鼠标经过图像
  • iview做的网站盐城市建设局网站打不开
  • 网站建设seo 视频国内好用的搜索引擎
  • 做三角渐变用哪个网站商标注册网址官方
  • 院校网站建设对比分析实训报总结怎么设立网站
  • 数字校园建设专题网站网站开发费用报价
  • 贵州建设厅网站wordpress主题存放目录
  • 哪里的佛山网站建设舟山网站网站建设
  • 省建设执业资格注册中心网站设计风格网站欣赏