logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

day9(IMX6ULL)<I2C>

本文详细介绍了I2C总线协议及其在嵌入式系统中的实现。I2C作为一种两线制同步串行通信协议,具有主从架构、多设备组网等优势。文章重点阐述了I2C的核心概念,包括时序约定、总线规则、开漏输出与上拉电阻的组合原理。通过寄存器宏定义、初始化函数、应答等待函数等底层驱动实现,展示了完整的I2C读写操作流程,并针对AT24C02存储器和LM75温度传感器进行了实战应用。该驱动框架可直接适配大多数I2C设备,

文章图片
#单片机#嵌入式硬件#c语言
day2(IMX6ULL)<led(c语言版)>

本文介绍了嵌入式开发中volatile关键字的使用及其在硬件寄存器访问中的重要性。首先阐述了volatile的作用是防止编译器优化,确保每次访问变量都从内存读取。然后展示了寄存器地址定义方法,包括通过宏定义和结构体映射两种方式。接着详细说明了LED控制程序的实现,包括时钟初始化、GPIO配置和LED操作函数。文章还涉及了Makefile优化、工程目录管理以及链接脚本的编写方法,为嵌入式系统开发提供

文章图片
#c语言#java#jvm
Linux kernel driver(内核驱动——基础概念与开发环境搭建)

本文介绍了Linux内核驱动开发的基础知识和环境搭建方法。首先讲解了驱动开发必备的C语言关键字(static、extern、const、volatile)和指针应用(函数指针、指针数组等)。其次分析了嵌入式系统内存模型,包括RAM、ROM等内存类型的特性和用途。然后详细阐述了Linux启动流程的三个阶段:Bootloader引导程序、Linux内核和根文件系统。最后提供了NFS挂载搭建驱动开发环境

文章图片
#linux#c语言#嵌入式硬件 +3
IMX6ULL<ARM架构>——ADC 模数转换器

ADC 是嵌入式系统中连接模拟世界和数字世界的关键组件。在 ARM 架构的 IMX6ULL 处理器中,ADC 模块通过寄存器配置和驱动代码实现,可以方便地与各种传感器配合使用。掌握 ADC 的使用,对于开发基于 ARM 架构的嵌入式系统至关重要。在物联网、工业控制、智能家居等应用中,ADC 都能发挥重要作用,帮助我们获取和处理各种物理世界的信息。

文章图片
#arm开发#c语言#单片机 +2
day4(IMX6ULL)<时钟>

本文介绍了ARM架构的时钟系统和定时器模块。时钟系统包含晶体振荡器、PLL锁相环、分频器等组件,通过时钟树为系统提供精确时序基准。文章详细讲解了时钟初始化流程,包括内核时钟配置、PLL倍频、分频器设置等关键步骤。定时器部分重点分析了EPIT周期中断定时器和GPT通用定时器的工作原理,并提供了1秒中断LED翻转和微秒级延时函数的实现代码。这些时钟和定时器组件是嵌入式系统实现精确时序控制和优化功耗的核

文章图片
#单片机#嵌入式硬件#开发语言 +1
Linux系统编程(进程2)

本文介绍了Linux进程管理的核心函数及应用。重点阐述了fork()函数创建子进程的原理:子进程复制父进程内存空间,采用写时复制技术;分析了父子进程关系及进程终止的8种情况;详细说明了僵尸进程和孤儿进程的处理机制;介绍了进程回收函数wait()和waitpid()的使用方法;讲解了exec族函数替换进程代码段的原理及4种调用方式;最后概述了system()函数和路径操作函数getcwd()、chd

文章图片
#linux#服务器#运维 +3
到底了