- 博客(145)
- 资源 (4)
- 收藏
- 关注
原创 linux C C++一线开发详解
linux服务器 中低端的应用服务器嵌入式linux系统 信息家电 智能仪表 网络安全产品多用户 多任务 linux编程接口 shell ssh多看书 多动脑 多动手...1.上电2. reset 特殊的硬件电路产生一个逻辑值 CPU复位 ROM中 启功代码处bios 代码3.固化rom中的启动代码bootloader 装载内核 省去BIOS uboot3.内核装入内存 /sbin/init init 进程linux shell 分为两种模式1. 交互模式终端
2022-05-10 16:30:02
925
原创 截图快捷键终极总结
1.window自带截图工具1.1 复制剪切面板 win + shift + s1.2 ctrl + v 粘贴2. 微信自带截图工具2.1 ctrl + alt + A2.2 ctrl + v 粘贴
2022-04-26 18:04:13
591
原创 挂载只读 非挂载只读 修复硬盘目录
mount -o ro,remount /dev/rootfsck.ext4 -n /dev/rootmount -o rw,remount /dev/root
2022-04-15 11:00:33
300
原创 linux里面判断某个进程是否存在的接口
bool WifiServer::CheckIotServerExist() { FILE* fp = NULL; uint8_t count = 1; uint8_t buf_size = 100; char buf[buf_size]; char command[CMD_SIZE]; sprintf(command, "pidof %s", "iot_server"); ...
2022-04-07 17:01:12
389
原创 git 版本提交回退 回退之前版本 合并冲突 终极详解
git reset HEAD^ (取消上一次 commit)git reset SOFTgit checkout .git stash (把本地保存一个临时区域)git pull // 同步服务器代码git stash pop // 拉出来 合冲突
2022-04-07 16:58:25
1948
原创 人性的弱点 终极总结
终极目标:如何在日常生活、商务活动与社会交往中与人打交道,并有效地影响他人如何击败人类的生存之敌——忧虑,以创造一种幸福美好的人生。讲做人要平和、真诚,沟通的成功在于尽量避免争辩,最常见的情况是在争辩中取得了胜利却失去了成功的机会。自觉地养成良好的习惯及逾越的品格。没有什么励志书是可以让你一下子就有脱胎换骨的改变的,最好的是多读好书,多实践,并最终形成优秀的行事习惯吧!成功其实如此简单,只要你遵循卡耐基先生这些简单适用的人际标准,你就能获得成功。...
2022-01-04 17:51:34
385
原创 每秒保存一次 监控内存脚本 终极总结
#!/bin/shFILE_PATH="/mnt/UDISK/mem_log.txt"while true;doDATE=`date`MEM_INFO=`cat /proc/meminfo | grep -E "MemTotal|MemFree|MemAvailable" | xargs`echo "[${DATE}] ${MEM_INFO}" >> ${FILE_PATH}sleep 1;done
2021-12-30 16:43:51
815
原创 linux 下 libcurl 终极详解
C语言 访问 URL 的实现。Linux libcurl安装及注意事项:Linux libcurl安装及注意事项 - 蘭亭客 - 博客园(安装 libcurl 源码库 )libcurl 使用说明和网页抓取 linux下的curl编程:libcurl 使用说明和网页抓取 linux下的curl编程_ultrapp的专栏-优快云博客...
2021-12-01 16:35:37
1585
原创 cmake 测试总结
cross.cmakeSET(CROSS_COMPILE 1)IF(CROSS_COMPILE)SET(CMAKE_SYSTEM_NAME Linux)SET(TOOLCHAIN_DIR "/opt/toolchain")set(CMAKE_CXX_COMPILER ${TOOLCHAIN_DIR}/bin/arm-openwrt-linux-gnueabi-g++)set(CMAKE_C_COMPILER ${TOOLCHAIN_DIR}/bin/arm-openwrt-linux.
2021-09-24 10:29:25
261
原创 时间搓 转 时间 字符串。
time_t time = (time_t)(p_dp_obj->time_stamp);struct tm *ptr;ptr = localtime(&time);pr_err("cloudserver time:%d/%d/%d %d:%d:%d\n",ptr->tm_year+1900, ptr->tm_mon+1, ptr->tm_mday, ptr->tm_hour, ptr->tm_min, ptr->tm_sec);
2021-09-09 16:35:27
145
原创 函数简洁注释终极详解
/*** @brief 动作块函数.** @param sender 发送者.* @param userdata 自定义数据.*/
2021-09-08 10:28:31
106
原创 c++ 四种强制类型转换 终极总结
1. C风格的强制转换C风格的 强制转换(Type Cast) 容易理解, 不管什么类型的转换 都可以使用使用下面的方式 。TypeName b = (TypeName)a;当然, C++也是支持C风格的强制转换, 但是C风格的强制转换可能带来一些隐患,让一些问题难以察觉. 所以C++提供了一组可以用在不同场合的强制转换的函数。2. C++ 四种强制转换类型函数2.1 const_castconst int* p; // p可变,p指向...
2021-08-25 10:38:03
251
原创 嵌入式 gdb gdbserver 终极总结
gdbIAR MDK VSgdb 来一行行的 运行程序、单步执行、跳入/跳出函数、设置断点、查看变量强大的程序调试工具Linux 系统,比如 ubuntu、 直接运行 gdb 来调试程序直接在嵌入式系统中运行 gdb 不太现实(性能强大的嵌入式芯片可以这么做)。嵌入式系统中一般在 PC 端运行 gdb 工具,源码也是在 PC 端,源码对应的可执行文件放到开发板中运行。我们需要在开发板中运行 gdbserver通过网络与 PC 端 的 gdb 进行通信。要想在 PC 上...
2021-08-13 15:15:33
1615
原创 wifi 驱动 应用 终极总结
nl80211 总结:sdio usb 两种wifirealtek RTL8189FS RTL8189FTV sdio提供了wifi 驱动的源码 只需要将 WIFI 驱动源码添加到 Linux 内核中,然后通过图形化界面配置,选择将其编译成模块即可。drivers/net/wireless/rtlwifi/Kconfig1 config RTL8192CU2 tristate "Realtek RTL8192CU/RTL8188CU USB Wireless Network A...
2021-08-13 14:54:01
554
原创 问题终极总结
1. 迭代器失效可能是什么原因导致的?STL的容器,STL中的容器包括 序列式容器,关联式容器。但是在使用某些容器的时候会出现迭代器失效的问题 。通常 数组, 链表, 树结构 会出现迭代器失效。vector list,map(set,mulitimap, mulitiset)。vector迭代器失效 。失效现象:在调用erase函数进行删除某一个元素或者迭代器的时候,当前位置及以后位置的迭代器会失效。失效原因:在删除某一迭代器或者元素的时候,会将后面的元素向前移动,导致这...
2021-08-10 10:13:14
86
原创 git命令 切换分支 总结
查看远程分支git branch - 查看本地分支git branch切换分支git checkout -b v0.9rc1 origin/v0.9rc1 切换主分支git checkout mastergit checkoutv0.9rc1
2021-08-09 18:18:28
114
原创 git branch 终极总结
git clone http://192.168.1.188:6600/leger/brain_hub.gitgit branchgit branch -agit checkout -b tuya_iot_test
2021-08-09 18:02:15
93
原创 git 推送创建远程分支 终极总结(验证成功)
https://blog.youkuaiyun.com/thomasyuang/article/details/89068698
2021-08-09 16:18:16
88
原创 应用层系统调用总结
dlopendlsymdlclosedlerrorperrorstrerrormmapmunmapopenclosewritereadlseekopendirreaddirclosedirforkexitwaitwaitpidon_exitdoitdoit2alarmpausealarmpthread_mutex_lockpthread_mutex_unlockpthread_cond_signal...
2021-08-09 11:31:11
115
原创 socket 本机编程终结详解
一、socket本机通信背景:UNIX Domain Socket 用于 IPC 更有效率:不需要经过网络协议栈,不需要 打包拆包、计算校验 和、维护序号和应答等,只是将应用层数据从一个进程 拷贝 到 另一个进程。X Window 服务器 和 GUI程序 之间就是通过UNIX Domain Socket通讯的 。UNIX Domain Socket的过程和网络socket十分相似,也要先调用socket()创建一个socket文件描述符,address family指定为AF_UNIX,...
2021-08-09 10:43:42
579
原创 wifi 管理验证程序
wifi station func 逻辑分析:wifi station func -> wifi_daemon -> wpa_supplicant (和 wifi驱动通信 和 wifi登录认证管理的关键进程) -> 代表依赖关系wifi ap func 逻辑分析:aw_softap_enable 会调用 ifconfig wlan0 down killall wpa_supplicant ifconfig wlan0 u...
2021-08-06 11:22:32
259
原创 RTC时钟驱动总结
RTC 也就是实时时钟,用于记录当前系统时间,对于 Linux 系统而言时间是非常重要的RTC 设备驱动是一个标准的字符设备驱动Linux 内核将 RTC 设备抽象为 rtc_device 结构体 rtc_device 注册到 Linux 内核里面,这样 Linux 内核就有一个 RTC 设备的rtc_device 注册到 Linux 内核里面,这样 Linux 内核就有一个 RTC 设备的。71 struct rtc_class_ops {72 int (*open)(struct device
2021-08-02 16:31:01
579
原创 linux 下 音频驱动框架总结
WM8960 音频DAC芯片Documentation/devicetree/bindings/sound/wm8960.txtcodec: wm8960@1a { compatible = "wlf,wm8960"; reg = <0x1a>; clocks = <&clks IMX6UL_CLK_SAI2>; clock-names = "mclk"; wlf,shared-lrclk;};sai2: sai@...
2021-08-02 16:27:06
492
原创 linux uart 驱动总结
1.串口是很常用的一个外设,在 Linux 下通常通过串口和其他设备或传感器进行通信。电平的不同,串口分为 TTL 和 RS232。RS232、RS485 以及 GPS 模块接口通通连接到了 I.MX6U 的 UART3 接口上。2.linux uart 驱动框架同 I2C、SPI 一样,Linux 也提供了串口驱动框架。我们只需要按照相应的串口框架编写驱动程序即可。串口驱动没有什么主机端和设备端之分,就只有一个串口驱动,而且这个驱动也已经由 NXP 官方已经编写好了。我们真正要做的就是在设
2021-08-02 16:22:07
1656
原创 linux IIC驱动框架下 IIC设备开发 总结
Linux 下开发 I2C 接口器件驱动,重点是学习 Linux 下的 I2C 驱动框架,按照指定的框架去编写 I2C 设备驱动。此 Linux内核也将 I2C 驱动分为两部分:AP3216C linux下 IIC设备驱动程序。①、I2C 总线驱动,I2C 总线驱动就是 SOC 的 I2C 控制器驱动,也叫做 I2C 适配器驱动。②、I2C 设备驱动,I2C 设备驱动就是针对具体的 I2C 设备而编写的驱动。实现总线、设备、驱动框架。I2C 而言,不需要虚拟出一条总线,直接使用 I2C总线即可.
2021-08-02 16:18:38
198
原创 adb push 整个文件夹的内容
adb push命令的时候,有时候需要push某个文件夹下的所有内容到adb push C:\xxdir\project\. /sdcard/xxx
2021-07-27 20:37:17
6200
原创 linux GPIO 输入 终极总结
示例代码 49.3.1.1 按键 pinctrl 节点 pinctrl_key: keygrp { fsl,pins = < MX6UL_PAD_UART1_CTS_B__GPIO1_IO18 0xF080 /* KEY0 */ >; };key { #address-cells = <1>; #size-cells = <1>; compatible...
2021-07-27 09:17:52
346
原创 linux 驱动 同步的 终极总结
1. 原子操作atomic_t lock;/* 原子变量 */atomic_set(&gpioled.lock, 1); /* 原子变量初始值为 1 *//* 通过判断原子变量的值来检查 LED 有没有被别的应用使用 */if (!atomic_dec_and_test(&gpioled.lock)) { atomic_inc(&gpioled.lock);/* 小于 0 的话就加 1,使其原子变量等于 0 */ ...
2021-07-26 20:26:12
210
原创 pinctrl 和 gpio 子系统 终极总结
1、内核提供了 pinctrl 和 gpio 子系统用于 gpio驱动。linux是一个庞大而又完善的系统 不可能 让你用裸板开发的方式 去 操作 gpio.该系统是按照面向对象的设计思想设计的。pinctrl 子系统主要工作内容如下: ①、获取设备树中 pin 信息。 ②、根据获取到的 pin 信息来设置 pin 的复用功能 ③、根据获取到的 pin 信息来设置 pin 的电气特性,比如上/下拉、速度、驱动能力等。 对于我们使用者来讲,只需要在设备树里面设置好某个 pin 的...
2021-07-26 11:55:24
511
原创 linux 驱动开篇终极总结
1、驱动背景Ubuntu 操作系统、学习 ARM 裸机、学习系统移植 就是为了学习 Linux驱动开发驱动分为 字符设备驱动 块设备驱动 网络设备驱动。字符设备 最多,从最简单的 点灯 到 I2C、SPI、LCD.音频等都属于 字符设备驱动 的类型。就是因为其复杂所以半导体厂商一般都给我们编写好了,大多数情况下都是直接可以使 用的。在Linux 中一切皆为文件,驱动加载成功以后会在 “/dev” 目录下生成一个相应的文件,应 用程序通过对这...
2021-07-23 17:21:23
259
原创 imx6ul 测试文档终极总结
1、 软件资源:1.1 uboot 支持 串口 LCD 网卡 SD卡 EMMCNandflash 环境变量的修改。1.2 kernel 4.1.151.3 rootfs busybox buildroot yocto ubuntu 4种 根文件系统 和 制作方法1.4 交叉编译工具1.5 qt 5 根文件系统1.6 系统烧写方法2. 工具安装:1. 安装 ch340 工具: 串口工具 securecrt 通过串口 看LOG打印。2....
2021-07-16 18:01:11
271
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人