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

收藏类网站策划百度营销是什么

收藏类网站策划,百度营销是什么,普洱在百度上做网站的,wordpress 4.2.201.MMU简介 完成虚拟空间到物理空间的映射 内存保护设立存储器的访问权限,设置虚拟存储空间的缓冲特性 stm32点灯可以直接操作寄存器,但是linux点灯不能直接访问寄存器,linux会使能mmu linux中操作的都是虚拟地址,要想访问物理地…

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:0:0,用作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置1,0~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,允许写bit0,bit0,高电平*/ 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,允许写bit0,bit0,低电平	*/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.ds6.com.cn/news/44948.html

相关文章:

  • 建设银行住房公积网站佣金高的推广平台
  • 在建设银行网站申请完信用卡吗泰州百度公司代理商
  • 东莞seo建站优化方法百度排行榜风云
  • 网站建设具体日程安排收录批量查询工具
  • 百度搜不到自己的wordpress郑州seo优化外包热狗网
  • 网站备案时间要多久太原网络推广公司
  • 云主机如何上传网站搜索引擎营销sem
  • 郑州高端网站制作团队最近三天发生的重要新闻
  • php网站开发实用技术答案如何做网站推广的策略
  • 个人备案网站会影响吗企业邮箱格式
  • 在虚拟机中如何做二级域名网站杭州seo教程
  • 创造与魔法官方网站做自己关键词优化怎么操作
  • 手机视频网站建站百度seo排名优化公司哪家好
  • 建设银行ma love网站电脑培训网上培训班
  • 七冶建设集团网站 江苏seo专业推广
  • 网站你应该知道我说的是什么吧2021年十大热点事件
  • wordpress 云存储网络优化是做啥的
  • 巴西网站域名论述搜索引擎优化的具体措施
  • 后海做网站公司应用商店关键词优化
  • 对手网站分析网站建设优化推广
  • wordpress 主题和插件下载seo关键词排名优化工具
  • 网站上的动态背景怎么做的杭州网站排名seo
  • 网站开发的必要性南宁seo优化
  • 山东平台网站建设找哪家新东方培训机构官网
  • 网站测试教程网络运营推广怎么做
  • 网站建设大作业app联盟推广平台
  • 织梦如何仿手机网站源码seo关键词外包
  • 西峡做网站免费推广的app有哪些
  • win7iis如何做网站小程序推广平台
  • 锡盟做网站网站地址ip域名查询