上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页
摘要: 前言 参考: 李柱明博客 本文主要记录 linux 环境变量配置的生命周期。 如,修改环境变量 PATH 是手动指定还是临时生效或是永久生效。 1. 修改环境变量 1.1 手动指定 如 ARCH 和 CROSS_COMPILE: 直接在 make 命令后添加即可,如: lzm@lzm-machine 阅读全文
posted @ 2021-03-31 21:06 李柱明 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 前言 6. 总线-设备-驱动 总线-设备-驱动 又称为 设备驱动模型。 6.1 概念 总线(bus):负责管理挂载对应总线的设备以及驱动; 设备(device):挂载在某个总线的物理设备; 驱动(driver):与特定设备相关的软件,负责初始化该设备以及提供一些操作该设备的操作方式; 类(class 阅读全文
posted @ 2021-03-30 12:28 李柱明 阅读(4304) 评论(0) 推荐(2) 编辑
摘要: 前言 5. 分离分层 本章节记录实现LED驱动的大概步骤,且编程框架实现分离分层。 分离分层: 上层:系统 相关。如模块注册于注销。 下层:硬件操作。如提供 file_operations 。分离: 设备。提供板卡信息,如使用哪一个引脚。 驱动。引脚的具体操作。 以下以 LED 为例。 5.1 回顾 阅读全文
posted @ 2021-03-29 17:41 李柱明 阅读(685) 评论(0) 推荐(0) 编辑
摘要: 前言 参考: 《IMX6ULLRM(6ULL用户手册).pdf》 李柱明博客:https://www.cnblogs.com/lizhuming/ 本文链接:https://www.cnblogs.com/lizhuming/p/14588172.html 4. LED芯片手册分析 本章节记录实现L 阅读全文
posted @ 2021-03-28 11:55 李柱明 阅读(875) 评论(0) 推荐(0) 编辑
摘要: 前言 链接: 李柱明博客:https://www.cnblogs.com/lizhuming/ 本文链接:https://www.cnblogs.com/lizhuming/p/14584917.html 移植AT32库&FreeRTOS教程 由于大部分国产MCU移植固件库、RTOS源码都是差不多的 阅读全文
posted @ 2021-03-27 09:23 李柱明 阅读(3070) 评论(6) 推荐(0) 编辑
摘要: 前言 随着全球晶圆缺货,ST疯狂涨价,也是时候把目光放到国产 MCU 上啦,感觉还不错,看 datasheet 的的数据来分析,性价比高,性能强。至于稳定性嘛,我没有长时间老化和细节地测试过,不做评论。 建议: 如果不想重新构建新的 AT 工程,就在你ST产品的工程上修改即可,主要替换ST库(与AT 阅读全文
posted @ 2021-03-26 12:46 李柱明 阅读(2629) 评论(0) 推荐(0) 编辑
摘要: 前言 以野火i.M 6U为例 3. 字符设备驱动 需要明确的是模块和驱动是两回事。 本笔记开始记录驱动的相关知识。 3.1 Linux设备分类 Linux设备可分为三:字符设备、块设备和网络设备。 网络设备:是一种特殊设备,它并不存在于/dev下面,主要用于网络数据的收发。 Linux系统将设备分别 阅读全文
posted @ 2021-03-25 13:47 李柱明 阅读(549) 评论(0) 推荐(0) 编辑
摘要: 前言 时间:20210315 主要记录这两天对国内各IC厂商的 MCU 了解记录。 大环境,ST 厂商 MCU 疯狂涨价,国内 MCU 也越来越完善,还便宜。同时,全球缺晶圆(这就看哪家厂商幸运,备货足了)。 简要工作记录 第一天: 今天早上接到主管的紧急任务,其实也就是评估国产 MCU 。找出代替 阅读全文
posted @ 2021-03-17 23:33 李柱明 阅读(518) 评论(0) 推荐(0) 编辑
摘要: 前言 以野火i.M 6U为例 2. 内核模块 本章节笔记主要理解内核模块代码框架和原理,分析一个简单的内核模块例子。 需要明确的是模块和驱动是两回事。 2.1 内核模块概念 2.1.1 内核 内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能, 是操作系统工作的基础, 阅读全文
posted @ 2021-03-17 20:57 李柱明 阅读(700) 评论(0) 推荐(1) 编辑
摘要: 前言 以野火i.M 6U为例 1. 开发环境搭建 驱动运行条件: 设备驱动是具有独立功能的程序,它可以被单独编译,但不能独立运行, 在运行时它被链接到内核作为内核的一部分在内核空间运行。 因此想要我们写的内核模块在某个版本的内核上运行, 那么就必须在该内核版本上编译它,如果我们编译的内核与我们运行的 阅读全文
posted @ 2021-03-16 20:58 李柱明 阅读(813) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页