笔记
绿波电龙
心中有梦,脚下生风
展开
-
QGroundcontrol随笔
原创 2024-03-21 17:05:41 · 339 阅读 · 0 评论 -
各种GUI选型
原创 2024-01-30 14:56:15 · 372 阅读 · 0 评论 -
defconfig和.config
make menuconfig利用默认. config再加上自己选择的模块配置选项生成最终版本. config。defconfig提供厂商默认配置,生成默认.config。make 利用最终版本. config进行编译。原创 2024-01-20 11:10:18 · 368 阅读 · 1 评论 -
Android镜像区别
boot. img( kernel.img和resource.img)uboot. img( bootloader镜像)resource. img(Linux设备树镜像)kernel.img( Linux内核镜像)原创 2024-01-20 10:14:22 · 350 阅读 · 0 评论 -
kobject和kset
把kobject加入kset分为以下几步:原创 2024-01-17 21:42:30 · 384 阅读 · 0 评论 -
总线bus
原创 2023-12-14 06:48:01 · 34 阅读 · 0 评论 -
设备树节点
原创 2023-12-04 20:09:39 · 57 阅读 · 0 评论 -
CPU上下文切换
进程是由内核来管理和调度的,进程的切换只能发生在内核态,所以进程的上下文包含了虚拟内存、栈、全局变量等用户空间的资源,还包含了内核堆栈、寄存器等内核空间的状态,所以进程的上下文切换要比系统调用更多一步,保存该进程的虚拟内存、栈等用户空间的资源,进程上下文切换一般需要几十纳秒到数微秒的CPU时间。前后两个线程属于同一个进程,因为虚拟内存是共享的,所以在切换的时候,虚拟内存这些资源保持不动,只有切换线程的私有数据、寄存器等不共享的资源。进程的内核态资源: CPU寄存器,内核堆栈。原创 2023-07-23 09:54:32 · 147 阅读 · 0 评论 -
桥接和NAT
vmnet0用于桥接的交换机vmnet8用于NAT的交换机原创 2023-01-29 18:13:12 · 110 阅读 · 0 评论 -
MMU工作原理
原创 2023-01-13 22:39:58 · 103 阅读 · 0 评论 -
物理内存映射
原创 2022-12-24 16:27:51 · 82 阅读 · 0 评论 -
系统调用和库函数
c标准库函数(fread)—指针操作带缓存,可以移植linux下的posix可移植编程接口Api(read)和 windows下win32 api —文件描述符fd,无缓存vfs虚拟文件系统linux驱动程序框架framebuffer驱动框架硬件驱动程序LCD硬件原创 2022-12-13 11:01:24 · 86 阅读 · 0 评论 -
mmap内存映射
在驱动(内核空间)中申请kmalloc一块页大小(4k)的虚拟空间(3G-4G),然后通过virt_to_phy转变成物理地址(其实就是减去一个偏移地址),然后将此物理地址与vm中的虚拟地址(系统自动分配)映射。此后在驱动中和应用中将会访问同一块物理地址。原创 2022-11-21 17:13:46 · 96 阅读 · 0 评论 -
网络3
静态NAT实现私网地址和公网地址的一对一转换。有多少个私网地址就需要配置多少个公网地址。静态NAT不能节约公网地址,但可以起到隐藏内部网络的作用。内部网络向外部网络发送报文时,静态NAT将报文的源IP地址替换为对应的公网地址;外部网络向内部网络发送响应报文时,NAT将报文的目的地址替换为相应的私网地址。PAT又称为NAPT (Network Address Port Translation) ,它实现一个公网地址和多个私网地址之间的映射,因此可以节约公网地址。PAT的基本原理是将不同私网地址的报文的源I原创 2021-12-01 08:22:41 · 118 阅读 · 0 评论 -
网络
静态NAT实现私网地址和公网地址的一对一转换。有多少个私网地址就需要配置多少个公网地址。静态NAT不能节约公网地址,但可以起到隐藏内部网络的作用。内部网络向外部网络发送报文时,静态NAT将报文的源IP地址替换为对应的公网地址;外部网络向内部网络发送响应报文时,NAT将报文的目的地址替换为相应的私网地址。PAT又称为NAPT (Network Address Port Translation) ,它实现一个公网地址和多个私网地址之间的映射,因此可以节约公网地址。PAT的基本原理是将不同私网地址的报文的源I原创 2021-11-28 09:38:38 · 283 阅读 · 0 评论 -
光纤
光纤收发器:无协议,透明传输,电光转换,价格便宜,用来拓展以太网。光端机:分为发送端和接收端,通常用于视频监控。既可以传输视频,也可传输音频,485,网络,开关等信号,为有协议传输,有编码解码过程,缺点,价格较高。光模块:也叫光电转换模块,封装分为GBIC,SFP,SFP+等,为无源配件,不能单独使用,需结合光纤收发器或者光端机使用,光纤收发器中大多已经集成GBIC光模块,光端机后侧的fiber接口为光模块插入口,大多采为SFP接口形式,其中SFP封装的光模块大多是LC接口的光纤,GBIC封装的光模块大原创 2021-11-07 10:05:13 · 285 阅读 · 0 评论 -
ARM指令
ldr指令:ldr r1,0x1234表示将0x1234地址中的数据给寄存器r1ldr r1, =0x1234有等号表明这是伪指令,意思是将0x1234这个地址给r1寄存器,根据后面数值是否为立即数,将其转为其他两种指令1.若是立即数,将其转为mov指令2.若不是立即数,将其转为ldr r1,[pc,#4]...原创 2021-08-28 17:47:28 · 113 阅读 · 0 评论 -
Linux根文件系统
内核启动的最后一步为启动init进程,此时init进程属于内核空间,通过内核代码init/main.c中的init_post函数的run_init_process(sbin/init)跳转到Busybox的sbin/init程序,此时init进程属于用户空间,Busybox init程序对应的代码在init/init.c中。init程序解析etc/inittab文件,运行etc/init.d/rcS脚本,脚本中mount-a挂载文件系统,此过程会挂载etc/fstab中的文件系统。把需要执行的命令放原创 2021-08-25 18:10:19 · 89 阅读 · 0 评论 -
2020-12-08
农历十月二十四 军原创 2020-12-08 18:41:03 · 144 阅读 · 0 评论 -
交叉编译器
Bootloader和内核的编译不需要glibc库的参与,使用arm-linux-gcc直接编译即可。glibc是在开发目标平台的应用程序时必须使用的库。arm-linux-gcc没有glibc支持。编译安装glibc的方法:通过交叉编译器进行编译,使用make install进行安装。编译好glibc后,需要重新编译gcc用于支持glibc....原创 2020-10-07 16:57:36 · 107 阅读 · 0 评论 -
编译器
gcc和g++都是GNU(组织)的编译器。gcc 的 Windows 版本,也就是 MinGW。MinGW只是一个外壳(VISUAL IDE),编译工具是GCC.其实MinGW只是把gcc(g++ gdb等)封装一下,便于使用而已.原创 2020-08-02 20:33:49 · 112 阅读 · 0 评论 -
USB设置地址请求
设置地址请求只有Setup stage和Status stage. 没有Data stage. 请求在SETUP事务(Setup stage)的数据包中,请求按照默认地址0发送到设备,设备接受到设置地址请求后,在SETUP事务的握手包发送一个ACK给主机,紧接着主机发出一个IN事务(Status stage),在IN事务的数据包中设备返回一个0长度的数据包给主机,告诉主机已经收到此请求.然后...原创 2020-05-04 21:45:43 · 2557 阅读 · 0 评论 -
元器件选型技巧
电阻封装0201 0402 0603 0805 1206 1812 2512 2. 功耗 1/20 1/16 1/10 1/8 1/4 1/2 3. 精度 默认为5%精度,取样电阻和反馈电阻用1%精度电容1.常见的贴片陶瓷电容 0402 0603 0805等,容值小,通常10uf以下,耐压好。...原创 2020-05-01 12:26:48 · 523 阅读 · 0 评论 -
pcb设计技巧
规则设置:间距--------------------电气最小间距:6mil线宽--------------------电源线:15mil 信号线:10mil过孔--------------------孔12mil, 直径24mil插针过孔大小(Hole Size)0.9mm, xSize = 1.5mm, ySize = 1.5mm快捷键N,显示隐藏飞线。布线的时候按2放置过孔,...原创 2020-04-25 08:00:25 · 181 阅读 · 0 评论 -
USB协议笔记_报告描述符
USB HID设备是通过报告来传送数据的。报告分为输入报告和输出报告,输入报告用于设备向主机发数据,比如键盘按键以及鼠标点击移动等事件,输出报告用于主机向设备发数据,比如主机控制键盘上的指示灯等。报告通过中断输入输出端点发送与接收,当没有中断输出端点时,输出报告还可以从控制输出端点0发送。报告描述符是用来描述报告的结构、内容以及用途。主机通过报告描述符去解析报告,主机通过向接口发送获取报告描述...原创 2020-04-23 14:55:52 · 430 阅读 · 0 评论 -
USB协议笔记_设备枚举
枚举过程:1.主机复位设备2.主机按照地址0端点0请求设备描述符(此处可选的设备复位操作,协议中无规定)3.主机给设备分配新地址4.主机按照新地址请求设备描述符5.主机通过Get_Descriptor读取配置描述符,根据里面的配置集合总长度获取配置,接口,端点描述符6.主机通过Get_Descriptor读字符串描述符(可选)7.主机读取HID描述符(可选)8.主机给设备挂载驱动...原创 2020-04-16 21:37:22 · 185 阅读 · 0 评论 -
ltdc层透明度设置
PA模式:BC(混合后的颜色) = BF1 x 恒定Alpha + BF2 x (1-恒定Alpha)恒定Alpha = 0x0F/255PA X CA模式:BC(混合后的颜色) = BF1 x (恒定Alpha x 像素Alpha) +BF2 x (恒定Alpha x 像素Alpha)...原创 2020-03-05 11:39:58 · 192 阅读 · 0 评论 -
IAP
app的bin文件0x20000918 0x08010250堆栈指针SP 程序计数PC原创 2020-02-18 19:58:45 · 128 阅读 · 0 评论 -
nrf24l01配置
发送端的发送地址(TX_ADDR),接受端的接受地址(RX_ADDR),发送端的接受通道0的地址,三个地址必须相同并且都使能接收端如果开启自动应答(EN_AA),则当接受端接受到发送端发来的数据后会产生自动应答信号,并将此信号发送给发送端,如果发送段也配置了自动应答,那么只有当发送端接受到了接收端的应答信号后才会认为发送成功,并产生发送完成中断(TX_DS)如果发送端发送成功之后,会自动清除...原创 2020-02-17 22:35:49 · 771 阅读 · 0 评论 -
uart发送与接受
uart每次发送一个字节,低位在前,高位在后例如PC机通过串口助手发送0x1234stm32端接受的数据为原创 2020-02-17 22:08:50 · 657 阅读 · 0 评论 -
stm32大小端模式
stm32存储方式为小端模式大端模式:数据高字节保存在内存低地址中,数据低字节保存在内存高地址中小端模式:数据高字节保存在内存高地址中,数据低字节保存在内存低地址中...原创 2020-02-17 17:08:06 · 1636 阅读 · 0 评论 -
单位
1英寸=1000mil(密尔)1mil = 0.0254mm英制 公制平时所说的元器件封装0603单位是英制,即0.06(英寸)0.03(英寸)0.06英寸=60mil=1.524mm0.03英寸=30mil=0.762mm所以焊盘通常取1.6mm0.8mm...原创 2020-02-10 21:54:27 · 381 阅读 · 0 评论 -
CubeMX配置USB注意事项
--------: STM32CubeMX心路历程:----------CubeMX配置CubeMX配置原创 2020-02-09 22:16:33 · 1818 阅读 · 0 评论 -
CubeMX配置定时器注意事项
--------: STM32CubeMX心路历程:----------CubeMX配置CubeMX配置原创 2019-10-20 12:55:13 · 280 阅读 · 0 评论 -
波特率的概念
波特率和比特率的区分波特率:单位Bd/s 每秒多少个字符(byte)比特率:单位bps 每秒多少位(bit)比特率 = 波特率 * (一个符号)几位。原创 2020-02-09 22:01:27 · 1857 阅读 · 0 评论