- 博客(213)
- 资源 (13)
- 收藏
- 关注
原创 苹果Mac mini M4:这功耗,还有谁?
当然docker 开发也不是全平台适用,可能一个 dockerfile 在 x86 平台编译没问题,到了 arm64 又有问题了,不过基础打好,都是能快速解决的,一旦解决了,那么全平台(mac + win + linux+ arm64 + x86 + arm)都可以使用。待机一年的功耗,可以再买一台二手 R730,耗不起,让这个笨重的家伙当存储用,都嫌弃......测试了一下,性能很强,功耗很低,很适合作为服务器使用,我之前买的树莓派5 感觉可以退休了,而 R730XD,除了当一个存储器,一无是处。
2025-03-19 08:30:23
422
原创 几款 USB 抓包工具对比,哪个是你心中第一?
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey最近因需要,想要做一款 UPS 工具,用于 NAS 断电保护功能,试了几款USB抓包用的工具(本文从鱼鹰课程仓库整理而来),在这里给有需要的道友一点参考。为什么要抓包,是因为你以前没做过相关的协议,而市面上已经有成品,另外在学习协议时,也是非常不错的调试工具,特别是在解决 USB 协议bug问题上有奇效,另外 HID协...
2025-03-08 18:00:43
763
原创 一行代码没写,服务器前后端就完成了?
最近在总结一些技术,录制了一些视频,一直想完成一个自己的课程管理系统,但是自己关于这块的技术积累几乎为 0。首先需要了解网络知识(https、ddns等),其次 Python 基础、网页基础都要了解,这里每一项都博大精深,鱼鹰花了很多时间学习也只是一知半解。后来了解到 Cusor,试用了一下,相当 Nice,全程几乎没有写代码,都是自己提需求,遇到问题就问它怎么解决。效果远超预期(开始页面非常简陋...
2025-03-03 08:40:33
138
原创 这才是我想要的开发调试体验
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey前段时间,鱼鹰总算把 docker 开发单片机的课程基本录制完成了,实现了 Linux 快速、高效开发单片机的目标。但基本都是靠命令行操作,用起来不是那么方便。实际上如果 cmake tools 的插件用上,也会很丝滑,只是当时不会玩,因此最近用了另一个更通用的插件 task buttons,可以把需要的命令转化成按钮。...
2024-12-16 08:30:42
772
原创 如何将网页数据转化成C语言数组?
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey这个程序用于将网页数据生成 C语言数组(用于lwip httpd 程序)。lwip 版本为最新的2.2.1(通过 init.h 头文件查看)0、安装 visualstudio 程序。20221、打开visualstudio,新建项目2、选择空白项目3、添加源文件lwip\src\apps\http\makefsdata...
2024-12-03 18:00:41
220
原创 听说,你被一条龙服务过?
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22windows%26lt%3Bb...
2024-11-06 08:18:50
734
原创 为什么大厂都在用 Yocto?
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOspreyYocto 是什么?很多道友第一次听到时估计都是一脸懵逼。当初鱼鹰从领导处了解这个技术时,完全不知道是什么,只能摸着石头过河。buildroot辛酸史在此之前,领导刚刚让鱼鹰学习了 buildroot 编译内核镜像,因为我们有个老项目的镜像就是用它编译的。以前这些镜像都是老外维护(鱼鹰目前在世界500强外企,有时间聊聊...
2024-10-22 08:21:44
2393
1
原创 什么,VSCode 竟然是代码编辑器?
,来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOspreyVSCode 被部分网友称为宇宙第一神器,最近鱼鹰也算是感受到它的强大,主要是丰富的插件解决了众多的开发痛点,而代码编辑反而变成了其中最微不足道的一个功能。本期鱼鹰介绍一下常用的插件,帮助大家更有效率的搬砖,成为最亮的那个崽。 1、git增强这段代码谁写的?什么时候写的?commit id 是多少?这个文件的修改记录...
2024-09-30 08:21:04
867
原创 总算结束了,不搞了
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey今年三月份,开启了为期半年线上嵌入式软件培训,到上周总算结束了。主要聊聊这几点:1、代码与视频积累2、授课感受3、后期计划代码与视频积累这半年,基本上每周日上午都没有休息,九点半准时上课,雷打不动,积累了一系列培训视频。鱼鹰培训第二期-0-1-学习目标.mp4 鱼鹰培训第二期-0-0-代码下载-工具介绍-调试方法.m...
2024-09-19 08:30:38
879
原创 为什么不建议用匿名结构体?
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey匿名结构体,看着好高大上的名字,但实际上也就那样。typedef struct { union { struct { uint8_t bit_0:1 ;uint8_t bit_1:1 ;uint8_t bi...
2024-09-08 20:30:44
237
原创 上班摸鱼?C语言玩魂斗罗!
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey最近玩了docker,发现真的很方便,和Java 、Python这种类似,一次写好,到处运行。虽然是一项技术,也是工作技能,但只是工作怎么行,闲暇之余,还是可以用来摸摸鱼的。比如用来玩玩魂斗罗超级玛丽只要是nes游戏,应该都支持。双人模式下,目前数字键使用的是小键盘。nes-dockerfile 文件FROM ubunt...
2024-08-26 09:36:04
403
原创 docker通用安装使用指南-Ubuntu-树莓派5
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey本方法适合树莓派5,ubuntu,其他未测试过,方法是类似的,并添加目前可用镜像源。安装 docker 软件#如果以前安装了docker, 需要卸载sudo apt remove docker docker-engine docker.io containerd runc# 安装依赖sudo apt -y i...
2024-08-12 11:50:12
589
原创 年少不知docker好
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey最近因工作需要,接触了docker,发现这个东西真的非常适合开发人员,值得玩一玩。我们知道,做嵌入式软件的,经常需要使用交叉编译环境编译单片机或者linux程序,在window时,我们可能只要安装一个IDE就够了,但linux环境不同,需要安装各种软件,有的时候可能还需要自己编译交叉工具链,非常不方便。安装软件的时候,可...
2024-08-07 08:40:33
246
原创 被断言罢了一道
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey这周课上介绍断言实现的时候,莫名其妙被断言的真真假假搞晕了。起因是看到一段关于判断一段字符串的长度,使用了 ASSERT 方式,原文大概是这样写的:#define AES256_KEY "0123456789ABCDEF0123456789ABCDEF" /* 必须等于 32 ...
2024-07-29 08:40:26
436
原创 终端显示太单调?拷贝没有进度条?来试试这些技巧
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey 终端显示/etc/profile or ~/.bashrc自己制作的简单Linux 文件系统,你会发现终端显示为黑白色,很不好看因此可以采用如下方式让你的终端显示更舒服一些/etc/profile 文件修改如下:PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h...
2024-07-05 08:33:43
278
原创 只是简单采个ADC,你让我看这么多资料?
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOspreyADC采样应该是项目中最常用的外设了,比如采个电池电压,芯片工作电压、温度等,都要使用ADC外设,但是ADC看着简单,使用时却困难多多。比如adc时钟,各种规则、注入通道,内部、外部通道,转换顺序,触发方式,中断、dma等都要了解,否则你没法正确采样,涉及到的寄存器也很多,稍微不慎,就采样失败。我只是想采个样而已,咋这么...
2024-06-26 08:30:25
260
原创 百兆网速根本不够用啊
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey2018 年,对网络一窍不通,那个时候觉得百兆网速怎么样也是够用的了,因此买了一个百兆的 tp-link,这么多年,运行还算稳定,没出啥问题。100M带宽,传输速率算下来是 10MB/s,也就是说你的上传或下载速度限制在这里,而我从树莓派上传或下载时大概也是在 10MB/s 左右的速度。一般情况也够用了,但是还是想再快点...
2024-06-17 09:08:19
545
原创 遇见一个编译优化导致的 bug
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey最近在调试 can 通信,因为 c8t6 flash 很小,而鱼鹰培训工程完成的驱动越来越多,导致 flash 不足,因此把 bsp 的优化级别设置成-O2,谁知道在串口输入数据时直接 hardfault 了:进一步跟踪发现问题出在这条代码中:uint32_tcnt=*((uint32_t*)pinfo->...
2024-06-11 08:31:20
338
原创 掌握栈回溯意味着什么?
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey历时两个月(1/3),第一个完成电子表项目的学员出现了,并且顺利的掌握了栈回溯技巧,在工作中快速定位了一个任务异常挂起的bug,这种bug没有掌握方法的工程师可能需要调试好几天才可能解决,而且很多工程师对此没有头绪,只能靠笨办法一点点接近bug代码,而不是说通过栈信息直击 bug 代码现场。实用功能与驱动今年开课以来,鱼...
2024-05-26 20:30:34
342
原创 关于 STM32F1 开漏输出的误解
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey 正文有些 IO 可能作为双向输出,比如 I2C 的 SDA 引脚,如果配置成推挽输出(push-pull),那么当要读取 应答信号或者读取 i2c 数据时,需要重新配置 IO。因此,很多教程会建议配置成开漏输出(open-drain),这样就不需要来回配置输出方向。这里需要注意的一点是,不管是开漏还是推挽输出,作为...
2024-05-13 08:40:27
266
原创 开源云盘工具,你值得拥有 - 自建云盘
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey filebrowser一位道友给鱼鹰分享了一款开源云盘工具,使用体验非常好,比鱼鹰 nginx 搭建的网页资源分享方式好多了。arm 工具下载地址如下(其它平台可以在 github 主页找)https://github.com/filebrowser/filebrowser/releases/download/v2....
2024-04-15 08:40:37
394
原创 2023年代码输出总结
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey大家好,我是鱼鹰。从过年到现在,基本没什么输出,小说、微信、头条视频刷一刷,时间就悄咪咪地过去了。还好最近在准备第二期的培训课程,有外部因素推动着自己,终于可以逼着自己强行进入工作状态了。本人自制力还是比较差的,也是比较懒的那种,但是又有比较多想法,因此开了这个课,除了赚点辛苦钱,更重要的是能把自己想法实现出来。鱼鹰不想...
2024-03-16 17:30:29
921
原创 单车变摩托-自建服务器!!
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey导读前段时间家里搞了一台自用服务器家里宽带搞个服务器,YYDS(一)使用树莓派 3B+,16 G(TF卡) + 1G 配置,增加各种功能后,明显感觉不够用了。于是准备使用 树莓派5 升级一下服务器。配置如下:2.4GHz 四核 64 位 Arm Cortex-A76 CPUVideoCore VII GPU,支持 Op...
2024-03-04 08:50:44
989
原创 绝了,还能这么转化十六进制字符串-C语言骚操作
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey前段时间移植了 tinyUSB 开源库,使 STM32F013C8T6 成功模拟了 7 个串口 独立的 CDC 设备(参考了知乎上一篇文章,不过那个实现还有一些问题,并且不能单独设置每个串口的波特率)。后面又移植了 lwip ,成功实现了虚拟网络适配器:于是准备看看源码实现,突然发现一条看不懂的代码:_desc_str...
2024-01-09 08:50:10
564
1
原创 又是编译器的锅?全局变量怎么就从栈里取数据了?!
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey一个学员项目上需要完成app升级功能,但是跳转后直接 hardfault,项目紧急,只能找上鱼鹰加急处理(课程福利)。这种问题我都是比较自信的,M0+ 内核,感觉问题不大,只是没想到学员公司保密性比较强,不能远程控制电脑,只能微信视频进行指导调试,折腾许久,才最终定位跳转地址出现问题。static uint32_t j...
2023-12-26 08:55:16
483
2
原创 鱼鹰:理想很丰满,现实很骨感
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey从八月中旬到现在,四个月的时间,嵌入式进阶课程也快接近尾声,有些学员收获比较大,上课也很积极,但大部分学员因为各种事情,没怎么上课,感觉并没有多少提高。几乎每周都会安排答疑,但学员真正能花在学习上的时间少的可怜(鱼鹰花在这个课程的时间可能比学员还更多,写了很多代码,以帮助大家更好的学习),提问的人也比较少,就像学生时代一...
2023-12-18 09:00:31
879
原创 如何绑架C语言标准库函数?
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOspreyC语言动态内存可以使用 malloc 标准库函数,而 C++ 会使用 new 关键字申请,裸机情况下一般没有问题,但是在 RTOS 情况下,就需要考虑资源保护的情况,比如多个任务同时调用 malloc 函数申请内存,如果说不用关中断或互斥量之类的手段进行保护的,有可能同一个内存块被两个任务申请,动态内存内部维护的一些全局...
2023-11-01 08:25:49
117
原创 坑!const 声明的变量一定只能读吗?
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey鱼鹰一直以为 const 声明的变量一定是只读的,并且也一定会存放在 FLASH 中,直到在 103 的 map 文件中看到了这个变量:声明如下(函数体外):__I 声明如下:可以看到,虽然使用 const 修饰变量为只读,但是 MDK 编译器仍将这两个数组放在了 RAM 区(全局变量),这意味着这个变量仍可写(通过指针...
2023-10-07 08:58:40
191
原创 谈谈看门狗优先级
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey 前言一个学员在学习 uCOS 系统过程中,对看门狗任务的优先级产生了疑惑,到底该把喂狗任务优先级设置成最高还是最低好?这里谈谈鱼鹰个人看法,首先给出结论,最低,甚至是在空闲任务运行(使用钩子函数)。理由首先我们要知道看门狗的工作是什么?为什么要设置看门狗。很多产品出厂时,都会开启看门狗,这是产品运行的最后保障,可以...
2023-09-13 09:01:23
653
3
原创 关于 GD32 虚拟串口的两个 BUG
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey最近鱼鹰在搞调试器,折腾了好多天终于理解了 MDK 、下载算法、调试器、MCU 之间的关系。简单来说,就是,调试器作为 USB 转 SWD 协议的转换工具,MDK 通过 USB 驱动这个工具,下载算法包含了一些 MCU 内部 FLASH 擦除、编程代码,和普通代码不同的是,该代码可以下载在任意位置运行。如果需要校验,还会...
2023-07-18 17:35:12
1016
原创 本跳转程序靠bug运行,请不要优化
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey图片来源于网络绝大多数产品开发,软件一般都会设计成 boot + app 的形式,这是方便后续软件更新,否则更新会变成一个很麻烦的事情。网上随处可见的跳转程序大概如下:#define APP_START_ADDR 0x08040000 voidjump2app(){typedefvoi...
2023-07-11 11:30:30
1046
1
原创 动态域名服务 DDNS,YYDS(四)
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey前面的笔记《如何像访问百度一样访问家里的服务器?(三)》已经通过公网 IP +桥接,完成了基本功能,已经可以通过公网 IP在全国各地访问家里的服务器了。但是有个麻烦的地方是,虽然运营商给我的是公网 IP,但却是动态的,两三天就更换一次,因此我们需要一种服务,实时告诉我们家里宽带的当前 IP 是多少才能访问。我们可以让...
2023-06-13 11:31:00
574
原创 如何像访问百度一样访问家里的服务器?(三)
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey在前面的两篇笔记《家里宽带搞个服务器,YYDS(一)》《家里宽带申请公网 IP(二)》,介绍了如何获取公网 IP,算是打好了基础。也有很多道友说,很难获取公网 IPv4,可能每个地方政策不同,运营商不同,政策也不同,因此如果确实有需要的话,可以更换运营商,或者使用 IPv6(这个一般运营商都会给,如果没有,可以打客服问问...
2023-05-24 11:30:46
543
原创 家里宽带申请公网 IP(二)
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey在之前的《家里宽带搞个服务器,YYDS(一)》笔记中大概介绍了,因为现有的 IPv4 的地址资源枯竭,导致大部分网络都是局域网,这种联网方式可大大保护局域网中的设备,但是对于想暴露服务器到互联网中的用户来说,就很不方便了。因此,很多用户,因为有服务器的需求,不得不每年付费购买 云服务器。对于家里有宽带的用户来说,完全可以...
2023-05-17 11:31:44
3278
原创 家里宽带搞个服务器,YYDS(一)
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey拥有一个家庭宽带18 年家里弄了一根光纤,算是和全世界连通了。不过一直以来也只是家里手机上个网,看个监控,并没有很好的利用上。最近研究一款无线调试器,需要一个服务器。购买云服务器也是一个不错的选择,不过鱼鹰不想每年花那冤枉钱,毕竟鱼鹰所需的服务器性能不需要多好,够用就行。刚好最近公司项目上也在研究网络相关的问题,对网络的...
2023-05-08 11:30:30
500
原创 MDK 须知的几个特殊符号
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey有的时候,我们需要通过脚本的方式在 bin 文件前加一些头(比如版本号、校验),因此今天鱼鹰分享一点小知识。hex 转 bin 的方法太多了,就不多介绍:《功能强大的 HEX 开源转换工具,你值得拥有》《Keil 生成 Bin 文件最正确的姿势》《bin 和 axf 文件的生成》可以看到用了一个奇怪的符号 !L。另外《B...
2023-04-23 11:30:03
212
原创 数组越界是一颗隐形炸弹
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey数组越界问题大家在软件开发过程中应该都司空见惯了。如果你没见过,大概率是一个新手,工作经验不足,倒不是说你自己会生产这种 BUG,但有些同事却可能是 BUG 搬运工。在鱼鹰五年的工作开发过程中,除了在北京刚毕业那会没遇到这种隐藏问题(碰到的都是自己生产的 BUG,不过自产自销,也还行),在深圳的这几家公司都遇到了数组越界...
2023-04-17 08:30:19
221
原创 独立看门狗的一点经验
来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOspreystm32基本都内置两种看门狗(另外还有外置的看门狗芯片),窗口看门狗和独立看门狗,两种看门狗的使用方法和应用场景各不相同,今天主要讲讲最常用的独立看门狗(工作这么多年,没见谁用过窗口看门狗,这种估计在时序严格的场合会用上)。所谓独立(Independent watchdog),就是该看门狗有独立的时钟源供看门狗使用,V...
2023-03-27 08:30:47
194
C8T6 核心板 CMSIS-DAP 固件源码
2022-06-05
jz2440 linux2.6
2020-12-24
s3c2440.zip
2019-11-10
AN2668_通过过采样来提高STM32的ADC精度 - 应用笔记.pdf_英中.pdf
2019-05-09
NRF24L01+ 源码
2018-12-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人