12 2021 档案

摘要:1.介绍 为了满足框架开发,linux系统中使用pinctrl和GPIO子系统来简化开发。 2.pinctrl子系统 pinctrl 子系统主要工作内容如下: 获取设备树中 pin 信息。 根据获取到的 pin 信息来设置 pin 的复用功能 根据获取到的 pin 信息来设置 pin 的电气特性,比 阅读全文
posted @ 2021-12-31 09:24 蘑菇王国大聪明 阅读(353) 评论(0) 推荐(0) 编辑
摘要:1.驱动代码 #include <linux/types.h> #include <linux/module.h> #include <linux/kernel.h> #include <linux/delay.h> #include <linux/init.h> #include <linux/f 阅读全文
posted @ 2021-12-29 15:45 蘑菇王国大聪明 阅读(103) 评论(0) 推荐(0) 编辑
摘要:1. 代码 #include <linux/module.h> #include <linux/kernel.h> #include <linux/init.h> #include <linux/fs.h> #include <linux/slab.h> #include <linux/uacces 阅读全文
posted @ 2021-12-29 09:36 蘑菇王国大聪明 阅读(88) 评论(0) 推荐(0) 编辑
摘要:1.DTS语法 1.1 .dtsi头文件 一般.dtsi 文件用于描述 SOC 的内部外设信息,比如 CPU 架构、主频、外设寄存器地址范围,比如 UART、IIC 等等。比如 imx6ull.dtsi 就是描述I.MX6ULL 这颗 SOC 内部外设情况信息的,内容如下: ,这个节点信息描述了I. 阅读全文
posted @ 2021-12-24 16:16 蘑菇王国大聪明 阅读(364) 评论(0) 推荐(0) 编辑
摘要:1. 代码 #include <linux/module.h> #include <linux/kernel.h> #include <linux/init.h> #include <linux/fs.h> #include <linux/uaccess.h> #include <linux/io. 阅读全文
posted @ 2021-12-23 18:40 蘑菇王国大聪明 阅读(44) 评论(0) 推荐(0) 编辑
摘要:1. 地址映射 裸机就是直接操作寄存器 Linux下也可以直接操作寄存器,但是不能直接对寄存器的物理地址进行操作,因为linux会使能MMU。 在使用时,必须找到物理地址的虚拟地址 #define ioremap(cookie,size) __arm_ioremap((cookie), (size) 阅读全文
posted @ 2021-12-23 10:02 蘑菇王国大聪明 阅读(226) 评论(0) 推荐(0) 编辑
摘要:1. 建立工程 2. 建立.vscode c_pp_properties.json { "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**", "/home/szm/linux/IMX6ULL/ 阅读全文
posted @ 2021-12-21 17:59 蘑菇王国大聪明 阅读(128) 评论(0) 推荐(0) 编辑
摘要:1. KEIL MDK 查看代码量、RAM使用情况–RO-data、RW-data、ZI-data的解释 KEIL RVMDK编译后的信息 Program Size: Code=86496 RO-data=9064 RW-data=1452 ZI-data=16116 Code是代码占用的空间; R 阅读全文
posted @ 2021-12-17 18:23 蘑菇王国大聪明 阅读(794) 评论(0) 推荐(0) 编辑
摘要:1. 简介 主要针对使用cube编程的同学,(或者还有更好的办法)。就是使用cube生成代码后,有的地方的代码给删除掉了,而加入BootLoader是肯定要改源码的,所以每次使用cube代码的时候这段自己加的必然白给,所以写了一个笔记吧! 我使用的芯片是stm32f103rgt6,项目需要内存大一点 阅读全文
posted @ 2021-12-17 18:21 蘑菇王国大聪明 阅读(971) 评论(0) 推荐(0) 编辑
摘要:1. 根文件系统简介 根文件系统首先是内核启动时所 mount(挂载)的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。 百度百科上说内核代码镜像文件保存在根文件系统中,但是我们嵌入式 Linux 并没 阅读全文
posted @ 2021-12-15 17:04 蘑菇王国大聪明 阅读(804) 评论(0) 推荐(0) 编辑
摘要:1. vmlinux.lds 首先分析 Linux 内核的连接脚本文件 arch/arm/kernel/vmlinux.lds,通过链接脚本可以找到 Linux 内核的第一行程序是从哪里执行的: 第 493 行的 ENTRY 指明了了 Linux 内核入口,入口为 stext,stext 定义在文件 阅读全文
posted @ 2021-12-14 14:58 蘑菇王国大聪明 阅读(1671) 评论(0) 推荐(0) 编辑
摘要:1.内核编译 得到内核之后编写shell脚本 #!/bin/sh make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_v7_de 阅读全文
posted @ 2021-12-12 18:27 蘑菇王国大聪明 阅读(107) 评论(0) 推荐(0) 编辑
摘要:1.配置体验 这里面我用的是mx6ull_szm_emmc_deconfig 写了一个脚本来一起配置 打开之后变成: 通过键盘上的“↑”和“↓”键来选择要配置的菜单,按下“Enter”键进入子菜单。菜单中高亮的字母就是此菜单的热键,在键盘上按下此高亮字母对应的键可以快速选中对应的菜单。选中子菜单以后 阅读全文
posted @ 2021-12-10 17:14 蘑菇王国大聪明 阅读(468) 评论(0) 推荐(0) 编辑
摘要:1. 链接脚本u-boot.lds 指定链接的首地址在哪里,哪一行代码是第一行。所以需要先编译。 打开该源码,可知u-boot的入口地址是_start; 可以搜索_start. 在文件 arch/arm/lib/vectors.S 中有定义: 如代码中定义的,这里面包含复位和中断向量表的起始地址; 阅读全文
posted @ 2021-12-08 17:22 蘑菇王国大聪明 阅读(2011) 评论(0) 推荐(1) 编辑
摘要:1. 工作目录 如上图代码,编译之后将解压包放到windows解压观看。 目录如下: 文件夹: 文件: 1.1 arch 这里面存放着和架构有关的文件 我们用的是arm架构的文件,打开arm文件夹: 其中mach开头的是和设备有关的文件,比如exynos是和三星有关的,我们使用的是imx-commo 阅读全文
posted @ 2021-12-03 09:35 蘑菇王国大聪明 阅读(200) 评论(0) 推荐(0) 编辑
摘要:因为屏幕把开发板上的拨码开关说明档上了,所以我要记录一下 阅读全文
posted @ 2021-12-02 10:32 蘑菇王国大聪明 阅读(25) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示