自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 离职,你想清楚了吗?

季文子三思而后行。子闻之,曰:“再,斯可矣。”    --《论语·公冶长》背景  前几天,跟一位素未谋面的小伙伴唠嗑,我们相识与贴吧,上次聊天还是几个月前在他找工作的时候,当时他有好几个offer,让我给一些建议。没想到短短几个月,我们要聊的却是离职。考其实哥们到新公司还不到半年,属于刚刚适应环境,初步上手的阶段。  短短几分钟,就感受到了他承受的精神压力、无助感、对工作的失望,我一直在认真倾听,他所在的小组项目人手少、任务多,任务都是非常紧急的,又都是棘手的工作;分身乏术,只能一个一个解决.

2020-09-20 09:34:41 2693 6

原创 OTA升级详解(一)

不积跬步,无以至千里;不积小流,无以成江海。出自荀子《劝学篇》1、概念解释OTA是何物?英文解释为Over The Air,既空中下载的意思,具体指远程无线方式,OTA 技术可以理解为一种远程无线升级技术;FOTA:Firmware OverThe Air/固件空中升级,通过云端为具有连网功能的设备:例如手机、平板电脑、移动互联网设备等提供固件升级服务,...

2019-10-29 09:17:38 17299 3

原创 recovery模式差分(增量)升级小结

最近在做recovery模式下的升级,简单的总结一下。先说说recovery模式,他是个升级小系统,有单独的kernel,通过特定的系统命令就可以进入到此系统中,选择进入正常系统的kernel还是recovery系统的kernel,决定在于bootloader中,recovery中的boot与正常系统的boot烧写的是相同的kernel,不同点在于,recovery模式有一个单独的rootfs...

2019-10-23 18:26:08 1714 1

原创 IP地址与int32整型之间的转换

问题有一个IP地址"127.0.0.1" 需要他的四字节整型值?反过来有一个整型值,还需要转换为一个点分十进制的IP地址?其实libc是提供这个接口的,不需要自己再造轮子,对比我们自己的实现,用到了联合体,非常值得学习,如下:1、inet_addrtypedef uint32_t in_addr_t;struct in_addr{ in_addr_t s_addr;};/* * Ascii internet address interpretation routine. * T

2021-04-26 00:55:43 3057

原创 Linux下时间戳与日期的转换

时间戳与日期的转换最近项目上需要用到时间戳,查找了资源终于找到了实现方式,最后时间戳还需要转换成具体的日志格式,查阅了一些资料,还是没有找到具体的实现方式,所以这里总结一些,防止其他小伙伴就掉坑,实现是在freeRTOS系统上的,当前我在linux下尝试实现以下。运行效果最近项目上需要用到时间戳,查找了资源终于找到了实现方式,最后时间戳还需要转换成具体的日志格式,查阅了一些资料,还是没有找到具体的实现方式,所以这里总结一些,防止其他小伙伴就掉坑,实现是在freeRTOS系统上的,当前我在linux下尝试实

2021-04-24 10:18:01 953

原创 python解析与打包串口数据

前一段时间在做一个项目,我们的系统使用串口与MCU进行数据交互,系统侧代码已按照双方约定的数据包协议写好,但是MCU侧还未完成代码,不能等待他们完成之后在进行代码的调试。首先就想到了使用python脚本来完成数据的解析与打包,网上也查了不少资料,最终实现模拟数据来完成代码的调试,脚本主要使用了python的两个模块serial(串口操作)与struct(打包成c语言的字节串)。serial模块主要用户串口操作,网络上资料也挺多的,这里直接上代码进行注释说明class ComThread: def _

2020-08-29 00:10:39 1701

原创 偶遇StackOverflow,很香

学而不思则罔,思而不学则殆---孔子《论语》首先需要澄清的是,我个人也是最近才开始接触StackOverflow,有讲的不好的地方,还希望大佬们多多批评指点;说来也很惭愧,从事IT行业已经四五年了,第一次了解到StackOverflow,不过瞬间就被香到了,所以在这里简单的写一写,个人还未完全的熟练的使用它,不过已经感受到了它的吸引力。把它推荐给大家,希望大家及早接触了解,及早的成长。先说说StackOverflow的历史StackOverflow由JeffAtwood和JoelSpo.

2020-05-28 01:45:29 638

原创 使用C封装Sqlite3实现简单API

以下是对sqlite3接口的简单封装,这里只实现了几个最基本的接口,喜欢的朋友可以继续扩展过程中参考了下面的文章https://www.runoob.com/sqlite/sqlite-c-cpp.html编译方法:gcc sqlite_test.c sqlite_api.c -lsqlite3运行: ./a.out接口头文件#ifndef __SQLITE_API_H__#defi...

2019-12-11 12:58:36 867

原创 如何批量保存网页照片

如何批量保存网页照片方法非常的简单新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入方法非常的简单今天看到一篇...

2019-12-05 12:49:48 3923

原创 OTA升级详解(三)

君子知夫不全不粹之不足以为美也,故诵数以贯之,思索以通之,为其人以处之,除其害者以持养之; 出自荀子《劝学篇》以下为Android 10 recovery源码分析代码来源为:https://www.androidos.net.cn/android/10.0.0_r...

2019-11-14 19:57:45 2854

原创 OTA升级详解(二)

青,取之于蓝,而青于蓝;冰,水为之,而寒于水。出自荀子《劝学篇》本章说明 上篇OTA升级详解(一)主要讲到OTA的一些基本知识,本篇主要内容为详解OTA升级包的制作过程,梳理做包关键细节,由于做包脚本较长,文件较多。暂不按照脚本注释的方式进行展示,主要按照调用函数顺序图+关键步骤文字描述的方式来讲解,重复内容会自动省略。讲解中的脚步是基于Android OTA...

2019-11-01 02:32:38 2830

原创 我也开了免费知识星球

加入了几个知识星球,感觉很不错,所以自己也开了一个知识星球,免费哦,《编程每日总结》我们总是匆匆忙忙的加班加点,拼命往前冲,但是很多时候都没有对做过的事,解决过的问题进行过总结,时间过去了,感觉自己成长太少,技术,做人,做事。所以我新建此知识星球,欢迎志同道合的伙伴加入,互相监督,对每日或者每周的工作,值得吹牛逼的,值得反思的做一个总结,一起进步,一起成长。。...

2019-10-26 01:32:07 659 2

原创 项目百态 深入理解软件项目行为模式--精选摘要

1、接受超出团队处理范围的工作是管理层怯懦的表现。为了避免个人遭受指责,却亲手把团队置于不可能成功的境地之中。最终,团队会饱受超负荷工作之苦,在组织里面受到的尊重度下降,就因为你没有勇气在第一时间说“不”。怎么做才能逆转这种恶性循环呢?给工作任务排定优先级,只做你最大能力范围之内的事情。把低价值的工作放在一边,先完成高价值的工作。承担超出最大能力范围的工作是变得迟缓的罪魁祸首。模式 39 ...

2019-09-20 18:10:11 151

转载 UBIFS Support

UBIFS SupportContents[hide]1Introduction 2Configuration 2.1How to enable UBI/UBIFS support in Linux Kernel? 2.2How to enable UBI/UBIFS support in u-boot? 3UBIFS User-space tools...

2019-09-17 11:10:48 333

原创 'packed' attribute ignored [-Werror=attributes] 错误处理

修改一个项目上的编译告警,出现了'packed' attribute ignored [-Werror=attributes] 错误,很是惶恐,需要说明的是编译时如果不打开 -Werror是没有错误。因为定义是这样的。typedef struct { int32_t mmap_addr; char tag[4]; /* 'P', 'R', 'E', ' ' */}preli...

2019-09-10 17:59:08 10226

转载 #!/bin/sh与#!/bin/bash的区别

Linux操作系统缺省的 shell 是Bourne Again shell,它是 Bourne shell 的扩展,简称 Bash,与 Bourne shell 完全向后兼容,并且在Bourne shell 的基础上增加、增强了很多特性。GNU/Linux操作系统中的 /bin/sh 本是 bash (Bourne-Again Shell) 的符号链接,但鉴于 bash 过于复杂,有人把 ...

2019-09-06 17:01:53 649

原创 windows 映射samba Linux服务器,可以访问文件但是没有写权限

最新服务器有点故障,后重新安装系统,很多东西都重新配置了,本人比较喜欢使用source insight编辑代码,所以肯定是要将linxu目录使用samba与windows共享了,但是却遇到一个很苦恼的问题,samba服务是开着的,windows下映射完成后无法对文件进行写操作!!!!通过查看/etc/samba/smb.conf配置,对共享目录的配置时正确的啊。哪里出了问题?查了不...

2019-09-03 19:50:25 5443

原创 “菜鸟”安装系统ARR

鄙人自己只装过两次系统,都是通过大白菜做U盘引导盘,修改BOIS启动从U盘启动,然后傻瓜式安装,自认为此种安装系统过程非常简单,没有任何技术含量,今日好友求助,想给电脑重新安装个系统,因为有“100%的成功率”,自信满满,所以在实际操作过程中考虑简单,没想过失败。导致在实际操作过程中被虐的很惨,但是功夫不负有心人,最终系统成功安装,也算一个圆满的结果,至此简单ARR本次事件,避免在其他...

2019-09-02 00:08:28 514

原创 如何删除链接文件指向的真实文件

当我们使用ln -s创建了符号链接,当使用结束的时候,可能需要删除掉符号链接和符号链接指向的真实文件,这样才能使当前环境恢复如初,如果只是删除使用到的符号链接,那边真实文件还是存在的,比较占空间,关键在于:当两个文件都需要删除的时候,不能先删除符号链接,那样真实文件就无法删除了, 这里的前提是,我们每次使用的是固定的符号链接,而指向的真实原始文件是动态变化的。如果原始文件也是可记录,可以找到的...

2019-08-28 19:47:22 711

转载 Vim脱离鼠标第一步

平时不可缺少的会用到vim,但是避免不了鼠标,事实上,省略鼠标是完全可以的,没有想像中那么难,看我短短几行带大家一起省略鼠标。对了,vim有三种模式,基本模式就是用来输入命令的,比如删除跳转等操作就是在基本模式下面;插入模式不用说;命令模式就是按Esc+:进入的模式,之间的切换很容易我就废话了。下面几乎都在基本模式操作。基本操作移动h,l,j,k 左右下上w,b...

2019-08-27 11:22:37 204

原创 30岁的程序员,我该何去何从

时光荏苒,岁月蹉跎,2019年已过去大半,亲爱的祖国即将迎来她70岁华诞,我也马上迎来30岁的生日,从事IT行业,高强度、高压力、少运动,如此情况还能坚持多久,还能在IT这条路上走多远,给自己的期限是35岁切入到其他行业,但是理想很丰满,现实很骨感。自己对未来很迷惑,到底我们可以从事那些航亚。。。。。先简单说说毕业这几年的事。身体:遭受病痛方知身体的重要毕业时65kg 现在80kg,整个胖...

2019-08-26 17:59:20 1917 1

原创 程序员必读的30本书单--超级推荐

这是国外程序员评出的30本经典程序员必读书籍!1. 《代码大全》 史蒂夫·迈克康奈尔2. 《程序员修炼之道》3. 《计算机程序的构造和解释》4. 《C程序设计语言》5. 《算法导论》6. 《重构:改善既有代码的设计》7. 《设计模式》8. 《人月神话》9. 《计算机程序设计艺术》10. 《编译原理》(龙书)11. 《深入浅出设计模式》12. 《哥德尔...

2019-08-23 14:43:39 592 3

原创 文件权限对比,使用shell导根目录下的所有文件信息,python对比差异

在项目中遇到了一个问题,单板线刷升级与OTA全量升级后,部分文件存在权限差异问题,为了找到所有目录下文件的差异,考虑使用shell脚本与python脚本来统计及对比差异,由于单板不支持运行python,所以使用了shell导出,也查阅了一些资料,简单加工就可用了,这里也跳过了/proc目录,不然就无限递归下去了,,,到出信息后再使用python进行差异对比,输出权限及所有组不同的文件,一目了然,之...

2019-08-20 14:21:45 226

原创 sync和fsync函数

sync和fsync函数传统的UNIX实现在内核中设有缓冲存储器,大多数磁盘I/O都通过缓存进行。当将数据写到文件上时,通常该数据先由内核复制到缓存中,如果该缓存尚未写满,则并不将其排入输出队列,而是等待其写满或者当内核需要重用该缓存以便存放其他磁盘块数据时,再将该缓存排入输出队列,然后待其到达队首时,才进行实际的I/O操作。这种输出方式被称之为延迟写(delayed write)(Bach 〔...

2019-07-28 23:43:43 3016

原创 python在已有zip文件中添加新文件

当前一个项目需要用到在已存在的zip文件中add进去一个新文件,身为python新兵的我甚是惶恐,对python对zipfile的操作也不甚了解,然后开始在各种博客中求助,然而很让人失望,太多的雷同贴,都是讲zipfile的方法,陈词滥调,乏味枯燥,我更喜欢一些实例,自己可以参考尝试,这样再去改造,使用,那就信手拈来了,最后没办法还是自己摸索吧,结果也是可想而知,被暴击了,还好,最后...

2019-07-08 14:59:52 3241 1

Socket通信Client/Server

Socket通信,C/S模型,客户端服务器 数据通信,服务器端使用Select进行处理,接收数据后发送到客户端,客户端接收到服务器的数据后发送到服务器

2023-03-15

空空如也

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

TA关注的人

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