自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (6)
  • 收藏
  • 关注

原创 第十四章 中断自我整理(一)

中断的内容真的好多,课是听完了,但是电脑一合感觉啥都忘了,网上有很多写的很好的博文,借鉴,自己整理整理。以按键中断为主线,当按键按下之后,会发生什么事?我自己想的:硬件方面:怎么把Key这个中断源告诉CPU的?软件方面:CPU接收到中断后是怎么确定是Key中断的?确定了之后又是怎么去调用Key的中断处理函数的?中断处理函数在内核中是怎么运行的?怎么退出中断等等。自己想的不全面,网上有文章写的很好:https://www.cnblogs.com/arnoldlu/...

2020-07-09 11:12:49 323

原创 第九章 理一理驱动程序的编写-9.6-13driver注册-chrdev创建-节点获取及配置

9.6.platform_driver_register是怎么进行驱动注册的? 设备树需要uboot传递给内核,参考设备树专题的视频,大体的流程是uboot把设备树编译成的.dtb文件的地址传递给内核,内核提取.dtb的根节点的compatible属性来匹配machine_desc,解析chosen节点、memory节点、#address-cells和#size-cells属性,为设备树...

2020-04-23 19:55:38 482

原创 第八章 设备树详解-8.3内核对设备树的处理

看了韦老师的设备树视频,讲的很好!也在网上找到了根据老师讲课内容整理出来的博文,关于.dts转换成.dtb文件的内容可以参考这篇博文:https://blog.csdn.net/huanting_123/article/details/90142745 单板上电之后uboot引导内核启动的流程,也参考该作者的另一篇博文:https://blog.csdn.net/huanting...

2020-04-20 22:00:34 437

原创 第九章 理一理驱动程序的编写-9.2-9.4pinctrl子系统和gpio子系统再理解

承接:第九章 理一理驱动程序的编写

2020-04-11 09:44:20 530

原创 第九章 理一理驱动程序的编写

很想把这些天跟着老师学习的内容再重新整理出来,并不按照讲课的顺序,而是按照逐次使用的顺序写出来,如上图!在此期间问了自己14个问题:1什么是pinctrl子系统?2什么是gpio子系统?3gpio和pinctrl子系统怎么编写?4gpio和pinctrl子系统怎么转化到内核中?5platform_driver_register是怎么进行驱动注册的?6platfo...

2020-04-10 19:44:26 235

原创 第七章 驱动程序开发-LED驱动-7.11.100ASK_IMX6ULL 上机实验

7.11.1.iMX Pins Tool v6安装 先确定引脚并生成设备树节点,使用NXP i.MX Pins Tool v6之后加载配置文件时,跳出错误: 这软件搞不定,郁闷!群里一个哥们说是网速的问题,连续试了几天都不行,周日早上起来又试了下,发现可以了!可能周日早上用网络的少,网速快些!这软件和STM32CubeMX挺像。 上图中左侧为引脚选择区域,下方...

2020-04-05 18:27:57 507

原创 第七章 驱动程序开发-LED驱动-7.10.3.代码分析

在.dts中定义一个led_gpio(client device)节点,子节点包含pinctrl系统,整个节点会在内核中注册成一个platform_device。对应的要注册一个platform_driver,当insmod drv.ko时,device和driver匹配之后,就执行probe()获得引脚,注册file_operations,设置方向、读值/写值。???在file_opre...

2020-04-05 18:09:25 426

原创 第七章 驱动程序开发-LED驱动-7.10.2 gpio子系统

7.10.2.GPIO子系统概念 也来问4个问题:1什么是GPIO子系统?配置GPIO引脚电气特性的系统;2如何表现?找到gpio.txt看下,1) gpios property 需要用"[<name>-]gpios"命名, gpio1: gpio1 { //名字 gpio-controller #gpio-cells = <...

2020-03-28 13:02:11 692

原创 第七章 驱动程序开发-LED驱动-7.10.1 pincrtl子系统

昨晚看完pincrtl+gpio子系统才发现原来按键驱动是下一部分内容,只是录制上传中次序颠倒了,LED驱动程序还没有结束!7.10.1.Pinctrl子系统概念“对于一个 PIN 的配置主要包括两方面,一个是设置这个 PIN 的复用功能,另一个就是设置这个 PIN 的电气特性。” 老师的文档已经写的很清楚了,这里感觉不用再废话了,问自己3个问题: 1什么是...

2020-03-27 11:10:04 413

原创 第七章 驱动程序开发-LED驱动-7.9.设备树再学习

原本以为LED驱动已经结束了,下面是按键驱动,看了才发现还没结束,还有pinctrl+gpio子系统的内容,尴尬!7.9.设备树再学习 看《devicetree-specification-v0.2》 DTSpec specifies a construct called a devicetree to describe system hardware. Each ...

2020-03-26 19:08:49 219

原创 第七章 驱动程序开发-LED驱动-7.8.设备树驱动模型

3种驱动程序的方法,只是指定“硬件资源”的方式不一样,核心永远是 file_operations结构体。从上图可以知道, platform_device/platform_driver 只是编程的技巧,不涉及驱动的核心。7.8.1.思路理顺引入设备树的编程思路大体为:1.添加led节点,在内核源码目录中 arch/arm/boot/dts中找到设备树文件100ask_im...

2020-03-23 22:42:58 460

原创 第七章 驱动程序开发-LED驱动-7.7.设备树的引入

7.7.1.设备树简介什么是设备树?到处可以听得见的名词,先看了一下ZDYZ的43章,引用: “cpu0 这个设备节点信息,这个节点信息描述了I.MX6ULL 这颗 SOC 所使用的 CPU 信息,比如架构是 cortex-A7,频率支持 996MHz、792MHz、528MHz、396MHz 和 198MHz 等等。”先简单了解下就ok。 设备树下的GPIO...

2020-03-23 21:31:57 227

原创 第七章 驱动程序开发-LED驱动-7.6.platform驱动模型-代码分析

7.6.2.代码分析7.6.2.1. ledtest.c 没变。7.6.2.2.leddrv.c 用代码对比看了下分层-分离的leddrv.c和platform的leddrv.c,主要区别新的leddrv.c中不再在led_init()中create deivces,而是独立成函数。30: void led_class_create_device(int minor)...

2020-03-23 20:10:38 317

原创 第七章 驱动程序开发-LED驱动-7.6.platform驱动模型

7.6.1.platform引入 引入 platform_device/platform_driver, 将“资源”与“驱动”分离开来。代码稍微复杂,但是易于扩展。冗余代码太多,修改引脚时设备端的代码需要重新编译。更换引脚时,上图中的 led_drv.c 基本不用改,但是需要修改 led_dev.c 系统有那么多的devices和drivers,谁来管理它们呢?总线!...

2020-03-20 21:35:58 222

原创 第七章 驱动程序开发-LED驱动-7.5.面向对象_分层_分离

面向对象:抽象出结构体,抽象出leddrv.c;Linux内核中面向对象可以理解为:用结构体表示一个对象! “面向过程——步骤化,面向过程就是分析出实现需求所需要的步骤,通过函数一步一步实现这些步骤,接着依次调用即可。面向对象——行为化,面向对象是把整个需求按照特点、功能划分,将这些存在共性的部分封装成对象,创建了对象不是为了完成某一个步骤,而是描述某个事物在解决问题的步骤中的行为”...

2020-03-20 20:02:58 230

原创 第七章 驱动程序开发-LED驱动-7.4.单板LED驱动程序

按照这个总结先自己理顺一下步骤:7.4.1.思路理顺 参照视频的文档先自己尝试写下:步骤1:使能 GPIO1和GPIO5的时钟; 把CCGR1的[27:26]和[31:30]写入1还是写入0呢?看表写入11。/* 步骤1:使能GPIO1和GPIO5 *//*a.使能GPIO1和GPIO5* set CCM to enable GPIO1 a...

2020-03-17 19:07:13 358

原创 第七章 驱动程序开发-LED驱动-7.3.LED驱动程序框架2

7.3.4.入口函数注册驱动97: static int __init led_init(void)98: {99: int err;100: int i;101:102: printk("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__);/* 将led_drv注册到内核中,设备名称为100ask_led,...

2020-03-15 11:01:25 284

原创 第七章 驱动程序开发-LED驱动-7.3.LED驱动程序框架1

视频看了一遍没什么用,还得仔仔细细把代码都看一遍! 编写驱动程序的步骤做了一个总结,如下图:下面具体分析下:7.3.1.确定主设备号static int major = 0; //先赋值为0,在注册时再让内核分配7.3.2.定义f_opr结构体static struct file_operations led_drv = { .owner = T...

2020-03-14 23:17:35 493 1

原创 第七章 驱动程序开发-LED驱动-7.2普适的GPIO引脚操作方法

7.1硬件知识_LED原理图 看视频7.2普适的GPIO引脚操作方法7.2.1.STM32 GPIO操作方法图6.4 STM32 IO结构简图对于STM32来说用固件库点亮LED的一般过程(以PA0为例)为:1.定义GPIO结构体;GPIO_InitTypeDef GPIOA_Pin0;2.开GPIO的时钟;RCC_APB2PeriphCl...

2020-03-14 22:45:44 508

原创 第六章 驱动程序开发1-不涉及硬件

不再是之前的思路,先讲裸机,而是直接裸机和驱动结合起来讲,效率高的,但是得有一定的硬件基础,同时裸机程序也要跟进! 看了一下这一章节的目录内容还是挺多的,加油! 6.1驱动开发引导与说明Linux驱动 = 软件框架 + 硬件操作图6.1GPIO操作方法这个挺厉害,即使你不买我的板子,买别...

2020-03-10 23:36:09 341 1

原创 第五章 嵌入式Linux应用开发基础(3)

5.10Makefile 的使用 Gcc是可以编译文件,成千上万个文件都要编译的时候就头疼了,所以衍生出makefile。另外,参照Visual Studio中只去编译修改了的文件而不是所有文件都去修改,提高编译速度,节省时间,makefile要做就是学习VS的这种自动识别修改的文件并编译它。免责申明,应该不会侵权的吧。objs := main.o sub.otest : $...

2020-03-08 17:45:30 147

原创 第五章 嵌入式Linux应用开发基础(2)

5.6下载源码资料 参见高级手册3.1,通过FileZilla工具上传资料光盘中的(07_bsp_sdk/100ask_imx6ull-sdk.7z.001和.002)整个文件夹到ubuntu系统/home/book目录下。执行 7z x 100ask_imx6ull-sdk.7z.001解压缩文件,前提是先安装了p7zip解压软件,sudo apt-get install ...

2020-03-08 13:49:02 184

原创 第五章 嵌入式Linux应用开发基础(1)

5.1快速入门总体介绍参考视频P38,截取了2张图。图5.1快速入门学习内容​​​​​图5.2快速入门路线 到这里初学者路线在线wiki结束了,后面的视频每一节都对应一个讲课文档,先看下讲课文档,然后在参考在线wiki,完全开发手册,https://book.100ask.org/index.html。5.2HelloWorld 背后没那么简单 P39...

2020-03-08 11:24:43 267

原创 第四章 Linux基本操作及配套工具安装

4.1安装Ubuntu系统 百问网团队特意根据本节内容录制了 1 节视频: https://v.qq.com/x/page/w05186fncbn.htm \01_Tools\01_Tools中找到软件VMware-workstation-full-15.1.0-13591040.exe,依次安装即可,Ubuntu界面如图4.1,界面很是漂亮啊!图4.1Ubuntu界面...

2020-03-07 17:11:21 159

原创 第三章 上电启动

2月10号复工,早上8点下单,全套,周三拿到,空运,外包装都是84的味道,迫不及待的打开,底板是黑色的,不是很喜欢,屏幕保护膜太low哈。3.1启动方式参照《入门手册》第6章,图3.1.1开发板通过拨码开关实现3种启动方式:EMMC启动、SD 卡启动、USB 烧写。刚出厂的板子是再EMMC上烧写了系统,可以从EMMC启动。(eMMC是NAND flash+主控IC ,对外的接口协议...

2020-03-07 09:57:40 472

原创 第二章 入门引导

2.1升级视频体系先看下老师第一节视频讲的是什么吧,在线观看P1:https://www.bilibili.com/video/av65976587?p=1,我以为视频会很长结果只有8分多钟。新视频分为4大块:快速入门;2. 项目经验;3. 驱动大全;4. 专题。图2.1.1视频体系 看到这个视频体系时觉着这样学应该很快就可以入门,好吧,想象太简单了。其实各种小问题会出现...

2020-03-06 23:35:47 369

原创 第一章 i.mx6ull初识

1.1官网介绍 先去官网看下介绍,i.mx6系列介绍找到一篇中文介绍:https://www.nxp.com.cn/docs/zh/fact-sheet/IMX6SRSFS.pdf大体了解了该系列主要用来什么领域,我可能比较关注汽车领域的应用,汽车信息娱乐系统,就是中控屏,之前在售后群里也问过一些大佬,群里也有一位做了4年中控屏应用程序的小伙伴。 i.mx6系列的家族图谱如图1...

2020-03-05 23:52:37 2129

原创 开启i.mx6ull+Ubuntu学习之旅……

2月13号拿到i.mx6ull开发板,到现在已经20多天了,白天上班,晚上回家学习,7-11点的样子,断断续续在推进,2013年那会接触过韦东山老师的2440,后来没继续了,绕了几年又绕回来了,也是刚在CSDN上写博客,折腾了20多天遇到了挺多问题,在按照韦老师给出的路线学习,参考wiki在线文档、入门手册、高级手册、学员笔记、正点原子手册和视频等吧,还有Google,,, 从韦...

2020-03-05 11:08:21 688

原创 (2)STM32F103ZETx高级定时器死区时间的再分析

使用示波器测试实际输出波形,见图1,周期1ms,占空比20%,图2是测量的死区时间~280ns,72MHz时钟,死区时间设置为: sBreakDeadTimeConfig.DeadTime = 20;图1图2问题:那...

2020-02-29 09:42:12 827

原创 (1)STM32固件库默认8MHz时钟修改为16MHz的操作

最近在跟着ZF学习无人机,到了软件编程部分,首先是产生PWM的代码,芯片使用的是STM32F373CCT6,Keil创建Project就不说了,关于固件库的移植做了一个图表便于记录。固件库默认的时钟是8MHz,实际使用的16MHz,需要修改固件库,初学者到哪里找这个8MHz呢?...

2020-02-21 22:08:59 1711

原创 2019年,over!

2019年,over!

2020-01-20 17:46:53 103

AD630.pdf 数据手册

AD630.pdf

2014-08-27

a digital lock-in upgrade of the motional stark effect diagnostic on DIII-D

a digital lock-in upgrade of the motional stark effect diagnostic on DIII-D a digital lock-in upgrade of the motional stark effect diagnostic on DIII-D

2014-08-27

理想的电压反馈型(VFB)运算放大器.pdf

理想的电压反馈型(VFB)运算放大器.pdf 理想的电压反馈型(VFB)运算放大器.pdf

2014-08-27

[算法导论].[Introduction.to.Algorithms].

还是国外作品,强烈建议看看!高手都说要看的。

2011-08-20

AVR单片机原理及应用

AVR单片机原理及应用,讲解avr的原理应用,可以看看的.

2011-08-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除