博主简介
Mculover666,一个喜欢玩板子的小码农,目前HFUT在读,热爱嵌入式/物联网这个领域,并专注于嵌入式软件开发!
坚持做自己热爱的事情、坚持做自己觉得有意义的事情,但问耕耘,莫问收获!
目前主要发布的网站如下:
- CSDN用于日常开发中的文章记录与分享
- 个人网站用于系列教程连载:http://www.mculover666.cn
- Github目前也收获了100多个Start:https://github.com/Mculover666
知识树思考
整理了博客文章导航后,我经常翻阅这篇文章,思考一个问题:我为什么要花费这么多时间学习这么多知识?
我从小就有学习时记笔记的习惯,从18年以来,我基本是拿CSDN当学习笔记记录本用,正值入门阶段,需要不断做加法,所以写的文章大多是比较浅显的学习笔记,这篇文章只是将我4年的学习笔记汇总到了一起,所以看着很多,以后当然会更多!
人每天总会忙忙碌碌的忙很多事,最怕到头碌碌无为,这些学习笔记也可以反映出来,我的目标是成为一名嵌入式软件工程师,但因为人在不同的阶段想做的事情也不同,所以我接触了很多的其它领域,但并没有深入学习。
为了避免碌碌无为,我将这些博客文章再次整理了一张思维导图,作为我自己的知识树,宏观视角看着不迷茫了,也进一步确定了自己的方向,红色的小旗标注是我成为嵌入式软件工程师的路上已经重点学习掌握的内容,橙色的小旗标注表示我将要深入研究的领域,没任何标注的就是接触过而已。
【腾讯文档】知识树-思维导图:https://docs.qq.com/mind/DR2JtZ2hyTU1GR3h3
程序人生
一、编程语言
1. 计算机组成原理/微机原理/单片机原理/汇编
2. C
- C语言 | 冒泡排序算法
- 好玩!C语言打印彩色字符,还能闪烁!
- C语言中getopt()函数的用法
- C语言集锦 | 01 - C基础语法(数据类型、输入输出、运算符、流程控制、函数、数组、static关键字)
- C语言集锦 | 02 - C语言的灵魂(指针)
- C语言集锦 | 03 - C语言的复合数据类型(typedef关键字、结构体、枚举体、共用体)
- 分享一个日常使用的hexdump函数
- C程序是如何跑起来的01 —— 普通可执行文件的构成
3. Rust
4. Python
5. Java
6. C#
7. C++
二、MCU开发
1. 开发环境
2. STM32
3. i.MX RT1062
- i.MX RT开发笔记-01 | 初识 i.MX RT1062 跨界MCU
- i.MX RT开发笔记-02 | i.MX RT1062开发环境搭建(MDK芯片包、NXP SDK详解)
- i.MX RT开发笔记-03 | i.MX RT1062地址空间映射及启动方式
- i.MX RT开发笔记-04 | i.MX RT1062 使用 IOMUXC 和 GPIO 点亮LED
- i.MX RT开发笔记-05 | i.MX RT1062嵌套中断向量控制器NVIC(按键中断检测)
4. ESP32
ESP32Duino
- ESP32上手笔记 | 01 - ESP-IDF开发环境搭建
- ESP32上手笔记 | 02 - ESP32-Arduino开发环境搭建
- ESP32上手笔记 | 03 -通过HTTP获取天气信息(WiFi+HTTPClient+ArduinoJson)
- ESP32上手笔记 | 04 -通过MQTT对接腾讯云IoT Explorer物联网平台(PubSubClient)
- ESP32上手笔记 | 05 - 获取MPU6050数据进行姿态解算和展示(I2Cdev+MPU6050+Processing)
- ESP32上手笔记 | 06 -驱动1.3‘ ST7789 SPI屏幕(TFT_eSPI)
ESP-IDF
5. OpenMV
三、RTOS开发
四、Linux开发
1. Linux日常使用积累
思维导图:【腾讯文档】Linux基础
- Linux基础入门命令汇总
- Linux发行版包管理器的使用 + 更换软件源
- Ubuntu远程访问和文件传输 | 配置SSH和VNC服务
- 追求效率, 上古神器 | Vim的基本使用方法与配置
- 一文讲清楚 Linux Shell 编程
- 查看Linux内核版本的三种方法
- ubuntu使用 fdisk 工具对SD卡进行MBR分区
- linux使用sz和rz命令传输文件
- linux使用du命令查看文件夹大小(磁盘使用情况)
- linux使用dd命令拷贝/生成文件
- Linux下使用cfdisk工具格式化U盘/SD卡的方法
- VMware中Linux虚拟机永久设置静态ip(基于NetworkManager网络管理器)
- 分享一个自用的zsh主题
- TencentOS Server编译安装nginx(1.22.0)
- VMware安装Arch Linux+Gnome桌面
- Arch Linux gnome 终端模拟器优化
- Arch Linux gnome 打造日常使用操作系统
- Arch Linux 使用USB转串口(CH340)
- Arch Linux | 网络管理工具iproute2(网络接口、ip地址、路由表)
- VMware安装Fedora 35 Workstation及使用体验
- Ubuntu衍生发行版使用体验(lubuntu、xubuntu、kubuntu)
- Linux i2ctool 工具的使用方法
- Linux NetworkManager 的使用方法(nmcli和nmtui)
- Linux系统中使用linux-wifi-hotspot工具开启网络热点
- Linux命令行操作串口收发数据(stty命令)
- Linux使用gdisk工具对硬盘进行GPT分区
- Linux系统中使用linux-wifi-hotspot工具开启网络热点
- Linux系统中修改hostname
2. Linux应用开发
- Linux C语言编程(上篇) | gcc的使用
- Linux C语言编程(中篇) | make的使用
- Linux C语言编程(下篇) | gdb的使用
- Linux应用开发 | 01-Linux中的文件读写操作详解及示例代码
- Linux应用开发 | 02-Linux中使用fork创建子进程和使用exit退出子进程详解及示例代码
- Linux应用开发| 03-Linux中使用exec函数族详解及示例代码
- Linux UDP服务端和客户端程序
- Linux串口应用编程详解(Serial)
3. Linux内核开发
- 使用VScode阅读Linux内核源码时的路径屏蔽设置
- Linux内核版本号关闭自动添加后缀
- Linux内核编译输出到指定目录
- Linux内核编译安装模块并打包
- Linux内核开启DebugFS以及查看debug信息(/sys/kernel/debug及debugfs)
- Linux内核开发 | Linux内核目录结构分析(5.4.32)
- Linux驱动子系统剖析 | Linux设备与驱动分离思想的代表作——platform总线模型
- Linux gpio驱动子系统剖析 | 01 - gpio子系统整体实现架构
- Linux内核gpio驱动子系统剖析 | 02 - gpio控制器的抽象:gpio_chip结构体详解及驱动实现
五、嵌入式Linux开发
1. 嵌入式Linux日常积累
- 从标准Linux到嵌入式Linux + 嵌入式Linux知识架构
- 嵌入式Linux底层系统开发流程和应用开发流程
- Linux下的串口助手 —— minicom或putty
- 开发板、windows、Vmware虚拟机之间网络环境构建(通过路由器使用动态ip方式)
- 开发板、windows、Vmware虚拟机之间网络环境构建(开发板与电脑网线直连使用静态ip方式)
- Ubuntu上搭建NFS(网络文件系统)
- Ubuntu16.04 安装 qemu 运行 Linux 3.16
- Qemu连接外网的配置方法
- 嵌入式Linux | 搭建TFTP服务器
- 嵌入式Linux | 设置LCD屏幕为终端控制台
- 以太网PHY芯片LAN8720A芯片研究
2. uboot研读笔记 / 使用记录
- uboot研读笔记 | 00 - 嵌入式Linux系统中Bootloader的作用和基本运行原理
- uboot研读笔记 | 01 - 下载uboot源码并使用VSCode远程查看源码、编译uboot(2012.04.01版本)
- uboot研读笔记 | 02 - 详细探索uboot启动过程(2012.04版本,基于S3C2410处理器)
- uboot研读笔记 | 03 - 初步移植uboot 2012.04到JZ2440(修改时钟,配置串口)
- uboot研读笔记 | 04 - 移植uboot 2012.04到JZ2440(支持Nor Flash读写)
- uboot研读笔记 | 05 - 移植uboot 2012.04到JZ2440(支持Nand Flash读写)
- uboot研读笔记 | 06 - 移植uboot 2012.04到JZ2440(支持DM9000C网卡)
- uboot研读笔记 | 07 - 移植uboot 2012.04到JZ2440(裁剪uboot大小)
- uboot研读笔记 | 08 - 移植uboot 2012.04到JZ2440(设置mtd分区表)
- uboot研读笔记 | 09 - 移植uboot 2012.04到JZ2440(设置默认环境变量参数)
- uboot研读笔记 | 10 - 移植uboot 2012.04到JZ2440(烧写Linux内核、烧写yaffs2文件系统)
- uboot研读笔记 | 11 - 移植uboot 2012.04到JZ2440(移植完成,制作uboot补丁)
- uboot研读笔记 | 12 - uboot目录结构分析(2016.03版本)
- uboot研读笔记 | 13 - uboot编译构建Makefile分析研读(2016.03版本)
- uboot研读笔记 | 14 - uboot启动流程分析(2016.03版本)
3. MP开发笔记系列
3.1. S3C2440系列
- S3C2440-裸机篇-01 | JZ2440开发板快速上手
- S3C2440-裸机篇-02 | 安装和使用arm-linux-gcc交叉编译工具链
- S3C2440-裸机篇-03 | GPIO的使用(点亮LED、按键检测)
- S3C2440-裸机篇-04 | ARM-THUMB子程序调用规则ATPCS(使用S3C2440实验)
- S3C2440-裸机篇-05 | S3C2440时钟体系详解(FCLK、PCLK、HCLK)
- S3C2440-裸机篇-06 | UART数据发送接收实验(扫描模式)
- S3C2440-裸机篇-07 | S3C2440内存控制器(Memory Controller)
- S3C2440-裸机篇-08 | 使用S3C2440操作SDRAM(配置内存控制器)
- S3C2440-裸机篇-09 | 使用S3C2440操作Nor Flash
- S3C2440-裸机篇-10 | 使用S3C2440操作Nand Flash
- JZ2440-Linux内核移植 | 01 - 移植Linux 3.4.2 内核到JZ2440(配置编译内核,设置machid启动内核)
- JZ2440-Linux内核移植 | 02 - 移植Linux 3.4.2 内核到JZ2440(修改内核中的mtd分区)
- JZ2440-Linux内核移植 | 03 - 移植Linux 3.4.2 内核到JZ2440(使用busybox制作根文件系统)
- JZ2440-Linux内核移植 | 04 - 移植Linux 3.4.2 内核到JZ2440(移植支持yaffs2文件系统)
- JZ2440-Linux内核移植 | 05 - 移植Linux 3.4.2 内核到JZ2440(内核裁剪)
- JZ2440-Linux内核移植 | 06 - 移植Linux 3.4.2 内核到JZ2440(移植DM9000网卡驱动,支持网络,支持NFS挂载,支持域名解析)
3.2. i.MX6ULL开发板
- i.MX6ULL系统移植 | 移植NXP官方uboot 2016.03版本
- i.MX6ULL系统移植 | 移植NXP官方linux 4.1.15内核
- i.MX6ULL系统移植 | 移植NXP官方linux 5.4内核
- i.MX6ULL系统移植 | 移植 linux 原生5.4.32内核
- i.MX6ULL系统移植 | 使用busybox制作根文件系统(1.29.0)
- i.MX6ULL系统移植 | 移植 ubuntu core 16.04(ubuntu-base)
- i.MX6ULL系统移植 | 基于 ubuntu base 20.04 构建根文件系统
- i.MX6ULL系统移植 | 命令行更新emmc的内核和设备树固件
- i.MX6ULL系统移植 | 使用 NXP MfgTool 烧写系统到eMMC
- i.MX6ULL应用移植 | 移植OpenSSH 8.9到Linux开发板(zlib、openssl、openssh)
- i.MX6ULL应用移植 | 移植ALSA到Linux开发板(alsa-lib、alsa-utils 1.2.7版本)
- i.MX6ULL应用移植 | 移植tslib到Linux开发板(1.22)
- i.MX6ULL应用移植 | 移植wireless tools到Linux开发板(29 version)
- i.MX6ULL应用移植 | 移植wpa_supplicant到Linux开发板(2.7版本)
- i.MX6ULL应用移植 | 基于ubuntu base 16.04搭建python3.9+pip3环境
- i.MX6ULL应用移植 | 移植Qt 5.12.9到imx6ull并搭建qt creator开发环境
- i.MX6ULL应用移植 | 基于ubuntu base 16.04搭建python3.9+pip3环境
- i.MX6ULL应用移植 | 移植libdrm到imx6ull开发板(2.4.113)
- i.MX6ULL应用移植 | 移植libevdev和evtest工具到imx6ull开发板
- i.MX6ULL驱动开发 | 01 - Linux内核模块的编写与使用
- i.MX6ULL驱动开发 | 02 - 字符设备驱动框架
- i.MX6ULL驱动开发 | 03 - 基于字符设备驱动框架点亮LED
- i.MX6ULL驱动开发 | 04 - Linux设备树基本语法与实例解析
- i.MX6ULL驱动开发 | 05 - 基于设备树点亮LED(这篇没有学习的必要,所以没有学习笔记)
这里接下来应该学习platform框架的知识,了解platform框架之后,才好理解i2c、spi总线设备驱动,之前因为赶进度没有学习,现在补上:
学完之后按顺序学习:
- i.MX6ULL驱动开发 | 06 - pinctrl子系统
- i.MX6ULL驱动开发 | 07 - gpio子系统
- i.MX6ULL驱动开发 | 08 - 基于pinctrl子系统和gpio子系统点亮LED
- i.MX6ULL驱动开发 | 09 - 基于Linux自带的LED驱动点亮LED
- i.MX6ULL驱动开发 | 10 - 修改LCD驱动点亮LCD显示小企鹅logo
- i.MX6ULL驱动开发 | 11 - Linux I2C 驱动框架
- i.MX6ULL驱动开发 | 12 - 基于 Linux I2C 驱动读取AP3216C传感器
- i.MX6ULL驱动开发 | 13 - Linux SPI 驱动框架
- i.MX6ULL驱动开发 | 14 - 基于 Linux SPI 驱动框架读取ICM-20608传感器
- i.MX6ULL驱动开发 | 15 - Linux UART 驱动框架
- i.MX6ULL驱动开发 | 16 - 基于 UART 驱动框架发送/接收串口数据
- i.MX6ULL驱动开发 | 17 - Linux中断机制及使用方法(tasklet、workqueue、软中断)
- i.MX6ULL驱动开发 | 18 - 使用中断方式检测按键
- i.MX6ULL驱动开发 | 19 - Linux内核定时器的编程方法与使用示例
- i.MX6ULL驱动开发 | 20 - Linux input 子系统
- i.MX6ULL驱动开发 | 21 - 按键驱动使用 input 子系统上报事件
- i.MX6ULL驱动开发 | 22 - 使用PCF8574扩展gpio
- i.MX6ULL驱动开发 | 24 - 基于platform平台驱动模型点亮LED
- i.MX6ULL驱动开发 | 25 - 基于Linux自带的KEY驱动检测按键
- i.MX6ULL驱动开发 | 26 - Linux内核的RTC驱动
- i.MX6ULL驱动开发 | 27 - 使用WM8960 CODEC播放音频
- i.MX6ULL驱动开发 | 28 - 使用FT5426多点电容触摸
- i.MX6ULL驱动开发 | 29 - 使用USB WIFI网卡(RTL8188EU)
- i.MX6ULL驱动开发 | 30 - 使用EC20 4G网卡(移植移远GobiNet驱动)
- i.MX6ULL驱动开发 | 31 - Linux内核网络设备驱动框架
- i.MX6ULL驱动开发 | 32 - 手动编写一个虚拟网卡设备
- i.MX6ULL驱动开发 | 33 - NXP原厂网络设备驱动浅读(LAN8720 PHY)
- i.MX6ULL驱动开发 | 34 - 基于SPI框架驱动spi lcd(st7789)
- i.MX6ULL驱动开发 | 35 - NXP LCD控制器Framebuffer驱动浅读
- i.MX6ULL驱动开发 | 36 - 注册spilcd为framebuffer设备并使用lvgl测试
- i.MX6ULL驱动开发 | 37 - FT5426电容触摸屏幕调试并修复驱动问题(基于linux 5.4.32内核)
3.3. STM32MP157A开发板
- STM32MP157A快速上手 | 01 - STM32MP157C-DK2公板快速上手
- STM32MP157A快速上手 | 02 - 开发环境搭建(A7核、M4核)
- STM32MP157A快速上手 | 03 - STM32MP157启动程序ROM Code详解
- STM32MP157A快速上手 | 04 - TF-A、uboot、linux内核源码获取、编译、烧写
- STM32MP157A驱动开发 | 01- 板载LED作为系统心跳指示灯
- STM32MP157A驱动开发 | 02-使用sdmmc接口读写sd卡(热插拔)
- STM32MP157A驱动开发 | 03-usb host接口的使用(U盘 )
- STM32MP157A驱动开发 | 04 - Linux DRM显示驱动框架
- STM32MP157A驱动开发 | 05 - 基于LTDC接口驱动RGB LCD
- STM32MP157A驱动开发 | 06 - 使用Linux内核自带的eeprom atmel驱动(AT24C02)
- STM32MP157A驱动开发 | 07 - 使用Linux内核自带的触摸屏驱动(GT911)
3.4. 瑞芯微RK系列
- RK3399快速上手 | 01- 开发环境搭建(固件烧写、编译工具链安装、kernel编译)
- RK3399快速上手 | 02-rockchip rk3399 linux sdk的使用
- RK3399快速上手 | 03-RK3399启动流程分析
- RK3399系统移植 | 基于ubuntu base 16.04制作根文件系统
- RK3399系统移植 | 基于rk-linux-sdk移植kernel(4.4.194)
- RK3399系统移植 | 基于 ubuntu core 20.04 构建根文件系统
- RK3399系统移植 | 移植 linux 主线5.4.32内核
- RK3399驱动开发 | 01 -RK3399 gpio的使用(用户态和设备树两种方式)
- RK3399驱动开发 | 02 - 使用Linux自带的硬件看门狗驱动(SGM706B)
- RK3399驱动开发 | 03 - WK2124串口芯片驱动调试
- RK3399驱动开发 | 04 - WK2124串口芯片驱动浅析
- RK3399驱动开发 | 05 - 使用lszrz压测串口传输(wk2124)
- RK3399驱动开发 | 06 - GT911触摸屏驱动调试及驱动浅析(Linux 5.4内核)
- RK3399驱动开发 | 07 - GT911触摸屏驱动调试及问题分析解决(基于RK SDK Linux 4.4.194内核)
- RK3399驱动开发 | 08 - RK3399显示系统详解(基于RK SDK Linux 4.4.194内核)
- RK3399驱动开发 | 09 - 基于RK808 PMIC的电源管理驱动
- RK3399驱动开发 | 10 - RK3399以太网gmac调试
- RK3399驱动开发 | 11 - RK3399以太网调试(基于linux5.4.32内核)
- RK3399驱动开发 | 12 - AP6255 SDIO WiFi 调试(基于linux4.4.194内核)
- RK3399驱动开发 | 13 - AP6356 SDIO WiFi 调试(基于linux4.4.194内核)
- RK3399驱动开发 | 14 - AP6255 SDIO WiFi 调试(基于linux5.4.32内核)
- RK3399驱动开发 | 15 - RTC实时时钟芯片HYM8563S调试(基于linux5.4.32内核)
- RK3399驱动开发 | 16 -PCA9557 GPIO 扩展芯片的使用(linux5.4.32内核)
- RK3399驱动开发 | 17 - RTL8152 USB有线网卡调试(基于linux5.4.32内核)
- RK3399驱动开发 | 18 - 使用 usb3.0 作为device模拟u盘(基于linux5.4.32内核)
- RK3399驱动开发 | 19 - 阿美林7寸mipi屏幕调试(基于linux4.4.194内核)
- RK3399驱动开发 | 20 - 阿美林7寸mipi屏幕调试(基于linux主线5.4.32内核)
- RK3399应用开发 | 基于ubuntu base安装Xfce桌面环境(arm64)
- RK3399应用开发 | 基于 ubuntu core + xfce桌面搭建opengl环境
- RK3399应用开发 | 移植libdrm到rk3399开发板(2.4.113)
- RK3399应用开发 | 编译安装 mesa 3D 图形库(23.0.0)
- RK3399应用开发 | RK3399本地编译 mesa demos(8.5.0)
- RK3399应用开发 | RK3399本地编译glmark2
- RK3399应用开发 | 基于tightvncserver配置VNC远程桌面
- RK3399应用开发 | 基于u8g2驱动oled显示系统基本信息(时间、IP、CPU负载、CPU温度)
- RK3566快速上手 | ROC-RK3566-PC开发板快速上手
- RK3566系统移植 | 基于rk-linux-sdk移植uboot(2017.09)
- RK3566项目实战 | 基于RK3566开发板实现USB摄像头推流(ffmpeg+nginx)
3.5. 全志系列
3.6. 树莓派系列
3.7. 其它开发板
六、IoT物联网开发
1. 产品拆解
七、PCB硬件开发
1. PCB封装
2. Altium Designer(AD)
3. Cadence
- Cadence每日一学_01| Cadence、Allegro、OrCAD都是什么东东?
- Cadence每日一学_02 | 使用OrCAD创建原理图工程
- Cadence每日一学_03 | 使用 Git+gitee 管理Cadence工程
- Cadence每日一学_04 | 使用OrCAD创建简单元器件(原理图)库
- Cadence每日一学_05 | 在OrCAD中借助Excel创建复杂元器件(原理图)库
- Cadence每日一学_06 | OrCAD中自有默认元器件(原理图)库详细介绍
- Cadence每日一学_07 | OrCAD绘制原理图 - 元器件电气互连(直连线、网络标号、隔页符、总线)
- Cadence每日一学_08 | OrCAD绘制原理图 - 元器件封装FootPrint信息处理及显示
- Cadence每日一学_09 | OrCAD绘制原理图 - 修改原理图库后再放置元器件出错的解决方法
- Cadence每日一学_10 | 使用OrCAD绘制STM32最小系统原理图完整流程
- Cadence每日一学_11 | OrCAD原理图DRC检查、BOM表导出、PDF导出、网表导出
- Cadence每日一学_12 | 使用 Padstack Editor 制作贴片焊盘和通孔焊盘
- Cadence每日一学_13 | 使用 Allegro 制作PCB封装(以STM32为例)
4. KiCad
八、桌面软件/App/微信小程序开发
1. C#上位机开发(winform)
- C#上位机开发(一)—— 了解上位机
- C#上位机开发(二)—— Hello,World
- C#上位机开发(三)—— 构建SerialAssistant雏形
- C#上位机开发(四)—— SerialAssistant功能完善
- C#上位机开发(五)——SerialAssistant界面升级(WinForm界面布局进阶)
- C#上位机开发(六)——SerialAssistant功能优化(串口自动扫描功能、接收数据保存功能、加载发送文件、发送历史记录、打开浏览器功能、定时发送功能)
- C#上位机开发(七)—— 修改窗口图标和exe文件图标
- C#上位机开发(八)—— 美化界面(给按钮添加背景)
- 【Arduino+C#串口上位机】10min教你编写C#上位机控制arduino板载LED
- C#上位机开发(九)—— 表格控件的使用
- C#上位机开发(十)—— 多线程+进度条的使用
- C#上位机开发(十一)—— 右键菜单的使用
- C#上位机开发(十二)—— SQLite的使用
- C#上位机开发(十三)—— 使用Log4net添加日志记录功能
- C#上位机开发(十四)—— C#中通过dll库调用外部C/C++函数
- C#上位机开发(十五)—— 计算字符串哈希值和文件哈希值
- C#上位机开发(十七)—— 基于NuGet安装并使用包(Visual Studio)
- C#上位机开发(十八)—— 基于RSA算法实现数字签名与认证(私钥签名,公钥认证)
2. Qt系列
3. PyQt系列
4. Android 系列
- Android IoT开发实战 | 01 - Android 开发利器 Android Studio 3.5.3
- Android IoT开发实战 | 02 - 无需一行代码的HelloWorld(更换阿里云镜像源,解决构建慢的问题)
- Android IoT开发实战 | 03 - Android日志工具Log的使用
- Android IoT开发实战 | 04 - 创建一个新的活动Activity(登录界面)
- Android IoT开发实战 | 05 - 使用 Toast 弹出提示信息(设置按钮事件监听器)
- Android IoT开发实战 | 06 - 使用 Intent 切换活动
- Android IoT开发实战 | 07 - 常用控件的使用
- Android IoT开发实战 | 08 - 四种基本控件布局方式
- Android IoT开发实战 | 09 - 导入MQTT jar包对接EMQ-X服务器(封装并发布JSON格式数据,使用handle处理MQTT接收回调逻辑)
- Android IoT开发实战 | 10 - 添加一个炫酷的时间选择控件
- Android IoT开发实战 | 11 - 发布正式签名的APK安装包
5. Matlab系列
- Matlab上位机开发(一) —— 了解上位机
- Matlab上位机开发(二)Hello,World
- Matlab上位机开发(三)波形显示(幅度和频率可调节)
- Matlab上位机开发(四)Matlab获取自带摄像头或者USB摄像头数据
- Matlab上位机开发(五)Matlab串口通信
6. 微信小程序系列
- 微信小程序开发 | 01 - 快速上手小程序开发
- 微信小程序开发 | 02 - 轮播图实现(swiper组件)
- 微信小程序开发 | 03 - 编写Tab选项卡(自定义组件)
- 微信小程序开发 | 04 - 作品列表页和作品详情页实现
7. gRPC框架
九、FPGA/SoC开发
1. FPGA系列
- 【FPGA入门教程】(一)初识FPGA
- 【FPGA入门教程】(二)FPGA学习路线及开发流程
- 【FPGA入门教程】(三) Quartus II 13.0软件安装
- 【FPGA入门教程】(四)Verilog基本语法
- 【FPGA入门教程】(五)组合逻辑电路设计
- 【FPGA入门教程】(六)时序逻辑电路设计
- 【FPGA入门教程】(七)FSM(Finite State Machine,有限状态机)设计
- 【FPGA入门教程】(八)状态机设计实例之独立按键消抖
2. PYNQ/ZYNQ系列
- PYNQ上手笔记 | ① 启动Pynq
- PYNQ上手笔记 | ②PL端和PS端的独立开发
- PYNQ上手笔记 | ③PS端+PL端点灯
- PYNQ上手笔记 | ④Zynq中断应用
- PYNQ上手笔记 | ⑤采用Vivado HLS进行高层次综合设计
- PYNQ上手笔记 | ⑥HDL设计IP核
十、数据库开发
- MySQL学习笔记 | 01-为什么要使用数据库
- MySQL学习笔记 | 02 - MySQL在Windows下的安装、配置、服务启动/停止、用户登录、查看版本号
- MySQL学习笔记 | 03 - MySQL在 Ubuntu 下的安装、配置、服务启动/停止、用户登录退出
- MySQL学习笔记 | 04 - MySQL数据库基本操作(增加、修改、删除、查看)
- MySQL学习笔记 | 05 - 普通用户新增、删除、授权、撤销登录权限
- MySQL学习笔记 | 06 - C语言嵌入SQL语句访问数据库
- 基于MySQL的嵌入式Linux自动抄表系统设计与实现(附源码)
- 基于MySQL的嵌入式Linux智慧农业信息采集控制系统设计与实现(附源码)
- SQlite使用记录
- PostgreSQL | Arch Linux安装PostgreSQL
十一、深度学习系列
十二、开发工具
1. VSCode系列
- 【宇宙最强编辑器VS Code】(一)初识VS Code(简介、安装、运行、用户界面、基本视图、状态栏、集成终端)
- 【宇宙最强编辑器VS Code】(二)美化VS Code(更换主题和文件图标主题、设置背景图片)
- 【宇宙最强编辑器VS Code】(四)使用VS Code+ MinGW-W64进行C/C++开发
- 【宇宙最强编辑器VS Code】(五)使用VS Code + JDK进行Java开发
- 【宇宙最强编辑器VS Code】(六)使用VS Code + Python进行Python开发
- 【宇宙最强编辑器VS Code】(七)使用VS Code编辑Markdown文档
- 【宇宙最强编辑器VS Code】(八)使用VS Code在线听网易云 —— vsc-netease-music(内附1.35版本之后无声音的解决方案、1.40版本之后的not support问题)
- 【宇宙最强编辑器VS Code】(九)使用VS Code + Git进行版本控制
- 【宇宙最强编辑器VS Code】(十)使用VS Code + SSH进行远程开发
- 【宇宙最强编辑器VS Code】(十一)快速插入代码 —— VS Code自定义代码片段的使用方法详解
- 关于使用VS Code开发stm32的一些感想
2. Git和Github系列
- 【Git & Github】(一)为什么需要版本控制及版本控制工具(以嵌入式项目开发为例)
- 【Git & Github】(二)Git简介及其安装(Git是什么、Git的诞生、Git的优势、Git的安装、初次运行Git前的配置)
- 【Git & Github】(三)Git命令行操作 —— 本地库操作(获取Git仓库、提交更新到仓库)
- 【Git & Github】(四)Git命令行操作 —— 本地库操作(查看提交历史、版本前进回退)
- 【Git & Github】(五)Git命令行操作 —— 本地库操作(分支管理)
- 【Git & Github】(六)Git命令行操作 —— Github远程库操作(创建远程库、给远程库地址取别名、推送远程库、拉取远程库、克隆远程库)
- 【Git & Github】(七)Git命令行操作 —— Github远程库操作(邀请远程库协作者、推送和拉取、协作时两种冲突的解决)
- 【Git & Github】(八)Git命令行操作 —— Github远程库操作(跨团队协作和PR)
- 【Git & Github】(九)Git & Github学习总结
3. Hexo个人博客系列
系列1:
优化系列2:
- 【最详细的Hexo教程,没有之一】01 - 本地建立 Hexo 站点
- 【最详细的Hexo教程,没有之一】02 - 创建新文章并生成页面
- 【最详细的Hexo教程,没有之一】03 - Github + Coding 部署Hexo站点
- 【最详细的Hexo教程,没有之一】04 - 换一个炫酷的响应式主题 —— Matery
优化系列3:
- Hexo优化教程 | 01-优化文章永久链接为数字编号
- Hexo优化教程 | 02-使用Appveyor备份并持续集成博客(可以在任意电脑发布博客)
- Hexo优化教程 | 03-自有云图床配合Mpic,轻松解决md插图问题
4. CLion开发工具
- CLion开发工具 | 01 - 认识外观界面
- CLion开发工具 | 02 - 常用功能配置介绍
- CLion开发工具 | 03 - CLion编译构建配置
- CLion开发工具 | 04 - CLion内置工具和插件
- CLion开发工具 | 05 - 使用CLion开发ESP32
- CLion开发工具 | 06 - 使用CLion开发STM32(无需Cmake)