- 博客(36)
- 资源 (5)
- 收藏
- 关注
原创 MySQL基础总结
1、数据库比较MySQLPostgreSQLInfluxDBmongoDBClickhouse2、SQL语句示例2.1 表操作2.2 查询语句3、索引3.1 索引介绍3.2 索引的使用3.3 索引数据结构3.4 索引分类3.5 性能分析4、事务4.1 事务的使用4.2 事务四大特性4.3 并发事务问题5、视图6、存储过程6.1 介绍6.2 存储函数7、触发器7.1 介绍7.2 应用案例-日志记录8、锁8.1 全局锁8.2 表级锁8.3 行级锁9、I
2022-08-14 16:03:57 423 1
原创 Kafka基础总结
1、Kafka特性1.1 为什么要使用 kafka 或消息队列1.2 kafka 为什么那么快2、kafka集群搭建3、kafka客户端工具使用4、Kafka原理4.3 Kafka中的重要概念4.2 leader与follower4.3 生产和消费工作流程5、kafka可靠性问题5.1 幂等性问题5.2 kafka事务5.3 如何保证消息不丢失5.4 生产者数据乱序5.5 如果leader崩溃,Kafka会如何6、Kafka-Eagle监控
2022-08-20 07:48:18 633
原创 Redis基础总结
1、Redis服务搭建(windows版)2、Redis常用命令3、分布式锁4、Redis缓存问题4.1 缓存更新策略4.2 缓存穿透4.3 缓存雪崩4.4 缓存击穿5、Redis集群5.1 主从集群5.2 哨兵集群5.3 分片集群8、Redis客户端代码(go版本)9、Redis漏洞9.1 沙盒逃逸漏洞9.2 Lua子系统缓冲区错误漏洞9.3 Lua子系统数字错误漏洞9.4 Redis未授权访问9.5 Redis安全部署建议............
2022-08-17 13:57:02 454 1
原创 Nginx模块开发系列1--预备知识
Nginx模块开发:ngx_command_t、ngx_module_t、ngx_http_module_t
2021-12-04 20:46:13 3373
原创 SDL多线程渲染YUV视频
目录#include <stdio.h>#include <string.h>#include <SDL.h>//自定义消息类型#define REFRESH_EVENT (SDL_USEREVENT + 1) // 请求画面刷新事件#define QUIT_EVENT (SDL_USEREVENT + 2) // 退出事件//定义分辨率// YUV像素分辨率#define YUV_WIDTH 320#defin
2021-11-28 10:53:51 670
原创 C++强制类型转换对比测试
C++强制类型转换对比测试0、总结1、普通类型转换测试2、类转换测试3、类的指针转换测试4、类的引用转换测试完整测试代码0、总结1、普通类型转换 指针和整数之间转换、指针之间转换(void*除外)只能用reinterpret_cast 整数之间转换可以只能用static_cast2、类之间转换 只能用static_cast,但无法进行下行转换 3、类的指针转换 reinterpret_cast可以任意转换 static_cast和dynamic_cast只能转换具有父子关
2021-08-14 17:53:04 308
原创 X86常用汇编指令
目录1、常用寄存器1.1 数据寄存器:ax、bx、cx、dx1.2 段寄存器 : cs、ds、es、ss1.3 地址寄存器1.4 控制寄存器2、常用命令2.1 mov movl2.2 push pop2.3 add addl sub subl2.4 call ret1、常用寄存器1.1 数据寄存器:ax、bx、cx、dxax(Accumulator):做累加器用,算数运算的主要寄存器bx(Base):基址寄存器cx(Count):计数器,循环用的多dx(data):双精度运算时与ax一起存放双操
2021-08-14 17:46:38 800
原创 imx6ull系统移植--Linux内核
目录1、添加自己的开发板2、主频修改3、网络驱动修改1、添加自己的开发板cd arch/arm/configscp imx_v7_mfg_defconfig my_emmc_configcd arch/arm/boot/dtscp imx6ull-14x14-evk.dts my_emmc.dtsvi Makefile #arch/arm/boot/dts目录下的Makefile添加my_emmc.dtb \2、主频修改3、网络驱动修改...
2021-08-14 17:46:14 294
原创 imx6ull系统移植--uboot
导读:本文将介绍从NXP官方uboot开始移植uboot到正点原子Alfalfa开发板的实际操作步骤,使用的芯片是imx6ull,LCD屏幕为4.3寸800*480。目录1、添加自己的开发板1.1 添加配置文件1.2 添加板级头文件1.3 添加板级文件夹2、移植驱动1、添加自己的开发板1.1 添加配置文件在configs目录下新建配置文件vi configs/my_emmc_defconfig,输入以下内容 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/.
2021-04-11 15:59:06 684
原创 uboot源码分析-uboot命令体系
导读:本文以S5PV210为例,从uboot源代码角度分析uboot命令体系架构,并举例说明如何在uboot代码中添加自己的命令。为了展示方便,文章中的代码有进行删减,主要删除了无效的宏定义,可能有误删。目录1、uboot命令结构体2、uboot如何解析命令2.1 main_loop主循环2.2 run_command执行命令2.3 find_comd查找命令3、如何添加自己定义的uboot命令3.1 添加命令举例3.2 U_BOOT_CMD宏定义说明3.3 补充1、uboot命令结构体每个ubo.
2021-03-20 10:35:29 749
原创 uboot源码分析-uboot启动流程
导读:本文以三星S5PV210的uboot为例,从源代码角度梳理uboot整个启动流程,参考了九鼎x210开发板官方uboot和朱有鹏老师相关文档。目录1、汇编阶段1.1 _start1.2 reset复位1.3 重定位1.4 after_copy1.5 lowlevel_init (补充)1.6 小结2、C语言阶段:init_sequence2.1 硬件初始化函数调用2.2 init_sequence函数指针数组成员2.3 小结3、C语言阶段:start_armboot剩余部分3.1 初始化flas.
2021-03-14 22:40:09 538
原创 Source Insight 4.0配置支持汇编-实现函数跳转
第一步:在官网下载arm汇编语言支持包ARM.CLF:https://www.sourceinsight.com/download/custom-languages/第二步:导入下载的文件:点击工具栏Options -> Preference -> Language -> Import然后选择刚刚下载的文件(对应下图的第三步)再新建一个文本文档,输入以下内容,在上图的第6步导入该文件!, Delimiter#, Delimiter%, Delimiter&, D
2021-03-11 22:21:17 883 1
原创 ARM嵌入式Linux裸机开发---异常、按键中断和定时器中断
导读:本文是裸机开发的第二篇,介绍裸机开发中断相关,介绍异常,按键中断,定时器中断,实现打印未定义指令异常,打印软中断异常,处理这些异常,然后使用定时器点亮LED灯效果,同时可以使用按键触发中断点亮LED。使用的开发板是基于韦东山老师的JZ2440,SOC是三星的S3C2440芯片,外接了SDRAM,nandFlash和NorFlash。目录1、start.S汇编代码2、main.c3、uart.c4、interrupt.c5、Makefile6、编译结果1、start.S汇编代码设置异常中断向量.
2021-03-08 22:21:19 467
原创 ARM嵌入式Linux裸机开发---汇编点亮LED
导读:目录1、 start.S汇编源代码2、main.c3、uart串口相关4、sdram.lds链接脚本5、Makefile6、编译结果:1、 start.S汇编源代码代码从_start标志处开始运行,start.S主要完成关看门狗,设置栈,设置时钟,初始化串口,初始化SDRAM,重定位,清除BSS以及实现流水灯效果//流水灯相关寄存器#define GPFCON 0x56000050#define GPFDAT 0x56000054//看门狗寄存器#define WTCON .
2021-03-07 21:32:52 519
原创 常用arm汇编指令-RISC指令集
目录1、读内存和写内存ldr,str2、算数运算指令mov,add,sub3、跳转指令b、bl4、比较和条件执行5、cpsr读写指令mrs,msr6、cp15协处理器读写mrc,mcr6、连续赋值7、^的作用8、标志申明1、读内存和写内存ldr,strldr r0, [r1] @读内存,r0等于r1所指向地址的值,相当于C语言r0 = *r1;str r0, [r1] @写内存,把r0的值存放到r1所指向的地址中,相当于C语言*r1 = r0ldr r1, [
2021-03-07 14:23:49 1186
原创 典型ARM嵌入式Linux设备启动流程-S3C2440,S5PV210,AM3352x
导读:本文将以主流学习芯片为例,梳理以下典型的嵌入式Linux设备的启动流程,目前比较流行的学习型芯片有S5PV210、S3C2440、IMX6ULL、STM32MP157目录1、S3C24402、S5PV2103、IMX6ULL4、STM32MP1571、S3C24402、S5PV2103、IMX6ULL4、STM32MP157...
2021-03-06 14:14:08 3054 9
原创 ARM嵌入式Linux硬件相关概念介绍---存储器相关
目录1、ARM版本号问题2、内存3、闪存Flash4、应用场景5、cache1、ARM版本号问题内核版本号SoC版本号芯片举例ARMv4ARM9S3C2440、S3C2410ARMv6ARM11S3C6410ARMv7Cortex-M,Cortex-A,Cortex-RS5PV210(Cortex-A8)Cortex-M一般为为单片机内核如STM32F103,Cortex-A系列一般用来跑Linux或安卓操作系统较为合适,Cortex-R系列一般用于航
2021-03-03 21:59:22 388
原创 有用的shell工具移植---rz,sz,flash_eraseall,ssh
shell命令工具移植rz&szflash_eraseall移植sshrz&sz首先需要在官网下载rz和sz源码tar zxvf lrzsz-0.12.20.tar.gz #解压源码cd lrzsz-0.12.20/ #进入源码目录./configure #添加默认配置make CC=arm-linux-gcc #编译器版本必须和编译内核时的版本一致编译后,将src/lsz, src/lrz文件添加到开发板上的/usr/bin目录,并重命名为sz
2021-03-02 15:24:39 410
原创 嵌入式Linux开发环境搭建-Ubuntu
目录软件下载1、卸载office办公软件2、卸载Amazon购物软件3、安装VMware tools4、安装nfs5、安装arm-linux-gcc6、安装busybox支持库软件下载VMware Workstation下载Ubuntu镜像下载1、卸载office办公软件 sudo apt-get remove libreoffice-calc sudo apt-get remove libreoffice-draw sudo apt-get remove libreoffice-impres
2021-03-01 14:28:15 1104 5
主流嵌入式芯片手册S3C2440-S5PV210-IMX6ULL-STM32MP157-AM335.rar
2021-03-04
mtd-tools源码
2021-03-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人