- 博客(755)
- 资源 (45)
- 收藏
- 关注

原创 关于我和我的的故事
1 关于我①我是谁BruceOu,男,90后,出生于重庆市的一个小县城的一个小镇,刚研究生毕业,目前是一名系统工程师,从事芯片研究开发工作。至于大家以后怎么称呼我,我给大家讲讲我的各种称呼,有的叫我欧工,有的叫我龙哥,有的叫我欧老师,也有叫我名字的,这些我都不在意,叫着顺口就行。②我的经历我出生普通,本科普通,研究生普通,我不是什么技术大佬,我只是一个普通人,普通得不能再普通了。小时候家庭不好,到处颠沛流离,不过从小到大,我的学业不曾让父母操过心,现在回想起这二十几年的求学之路,不禁感慨万千。
2020-11-14 19:53:13
2461
4

原创 Linux驱动开发博文导航
Linux驱动开发我已经酝酿很久了,有网友催我尽快有更新,博主今天就把以前的博文整理一下,另外我也会不断更新,希望对感兴趣的朋友有所帮助,在此感谢优快云这个平台给出了这个一个交流的机会,也感谢大家的支持。Linux相关的网站U-BootLinux内核busyboxLinux驱动开发第1章 驱动内核模块开发第2章 字符设备驱动结构第3章 字符设备驱动开发(A)第...
2019-09-19 16:49:45
1444

原创 Linux系统移植博文导航
自博主更新该专栏也很久了,博主今天就把以前的博文整理一下,希望对感兴趣的朋友有所帮助,在此感谢优快云这个平台给出了这个一个交流的机会,也感谢大家的支持。Linux相关的网站 U-Boot Linux内核 busyboxLinux系统移植 Linux系统移植-前言 第1章 环境搭建(Exynos4412+U-boot2013.1) 第1章 环境...
2018-08-22 21:17:34
1802
1

原创 OpenCV 开发笔记博文导航
自博主更新该专栏也很久了,博主今天就把以前的博文整理一下,希望对感兴趣的朋友有所帮助,在此感谢优快云这个平台给出了这个一个交流的机会,也感谢大家的支持。OpenCV相关的网站 OpenCV官网 OpenCV参考文档 OpenCV中文论坛 OpenCV源码-Github Learn OpenCV官网OpenCV开发笔记第一部分 环境搭建 ...
2018-08-19 20:03:08
1777

原创 ZigBee开发笔记博文导航
自博主更新该专栏也很久了,今天博主就给出关于ZigBee开发的一个导航,为的是读者朋友能更好找到自己所感兴趣的那一块,当然博主以后对ZigBee有新的发现和想法也会在第一时间发表在优快云上,在此感谢优快云这个平台给出了这个一个交流的机会,也感谢大家的支持。OpenWrt相关的网站 ZigBee官网 ZigBee 协议栈ZigBee开发笔记第一部分 入门篇...
2018-07-14 21:02:48
8664
7

原创 博客迁移及联系方式
各位朋友,大家好,感谢大家的厚爱,本人已经将博客迁移,通过以下方式都可访问我的最新博客动态:我的个人博客 优快云博客欢迎大家访问,留言!...
2018-06-16 08:45:55
1507

原创 OpenWrt开发指南博文导航
自博主更新该专栏也很久了,今天博主就给出关于OpenWrt开发的一个导航,为的是读者朋友能更好找到自己所感兴趣的那一块,当然博主以后对OpenWrt有新的发现和想法也会在第一时间发表在优快云上,在此感谢优快云这个平台给出了这个一个交流的机会,也感谢大家的支持。OpenWrt相关的网站 OpenWrt官网:包含源码下载和一些参考文档。 中文应用技术网:关于OpenWrt的中...
2017-12-22 13:18:55
7976
3

原创 Git和GitHub资料汇总
今天博主将带给大家的一系列关于Git和GitHub的资料,直接给资料咯!Git和GitHub的相关网站 Git官网 GitHub官网 GitHub Pages:搭建静态网站、博客 Git和GitHub的学习资料 Git-Book:Git 官方教程中文版 Git教程:廖雪峰老师写的入门教程,建议入手 Git权威指南:很经典也很全面,学...
2017-12-11 15:54:38
1760
1
原创 《嵌入式 - 嵌入式大杂烩》ARM Cortex-M寄存器详解
ARM Cortex-M提供了 16 个 32 位的通用寄存器(R0 - R15),如下图所示。前15个(R0 - R14)可以用作通用的数据存储,R15 是程序计数器 PC,用来保存将要执行的指令。除了通用寄存器,还有一些特殊功能寄存器。特殊功能寄存器有预定义的功能,而且必须通过专用的指令来访问。
2024-08-06 23:04:05
791
原创 【嵌入式 – GD32开发实战指南(ARM版本)】第2部分 外设篇 - 第3章 温度传感器DS18B20
1.DS18B20硬件接口相对简单,但单总线协议对软件要求较高,因此必须严格按照时序要求来设计程序,否则无法正确读出温度值。2.在实际应用的应用中的线缆长度应有所限制,在长距离信号传输过程中要充分考虑总线分布电容和阻抗匹配。3.在总线上一定要接上拉电阻,不然DS18B20的供电不足,会导致数据不准确。如果没有接上拉电阻,把设备的电源接到5V左右也能给设备充足的电能。欢迎访问我的网站BruceOu的哔哩哔哩BruceOu的主页BruceOu的博客BruceOu的优快云博客BruceOu的简书。
2023-11-19 23:00:27
1195
原创 【嵌入式 – GD32开发实战指南(ARM版本)】第2部分 外设篇 - 第2章 温湿度传感器AHT10
AHT10,新一代温湿度传感器在尺寸与智能方面建立了新的标准:它嵌入了适于回流焊的双列扁平无引脚SMD封装,底面4 x 5mm ,高度1.6mm。传感器输出经过标定的数字信号,标准I2C格式。AHT10 配有一个全新设计的ASIC专用芯片、一个经过改进的MEMS半导体电容式湿度传感元件和一个标准的片上温度传感元件,其性能已经大大提升甚至超出了前一代传感器的可靠性水平,新一代温湿度传感器,经过改进使其在恶劣环境下的性能更稳定。
2023-11-05 11:24:22
596
原创 【嵌入式 – GD32开发实战指南(ARM版本)】第2部分 外设篇 - 第1章 温湿度传感器DHT11
DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。DHT11传感器包括,并与一个高性能 8 位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个 DHT11 传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在 OTP 内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。
2023-09-29 17:40:38
723
原创 《嵌入式 - 嵌入式大杂烩》SVC和PendSV异常详解
在讨论PendSV和SVC异常前,需要先了解Cortex-M的模式和两个特权等级。Figure 1 1 操作模式和特权等级两种模式为handler模式和线程(thread)模式,这两种模式是为了区别正在执行代码的类型;handler模式为异常处理例程的代码;线程模式为普通应用程序的代码。两种特权级包括特权级和用户级,两种特权级别是对存储器访问提供的一种保护机制,然后用户代码不能访问特定的存储区域;在特权级下,程序可以访问所有范围的存储器(如果有MPU,还要在MPU的禁地之外),并且能够执行所有指令;
2023-08-12 17:40:47
765
原创 《嵌入式 - 工具》J-link读写MCU内部Flash
J-Link是SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器。配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境支持所有ARM7/ARM9/ARM11,Cortex M0/M1/M3/M4, Cortex A5/A8/A9等内核芯片的仿真,是学习开发ARM最好最实用的开发工具。
2023-07-23 11:00:16
6583
3
原创 《C语言杂记》C语言内存泄露分析与检测
在堆上分配的内存,没有及时释放掉,以便后面其它地方可以重用。在C/C++中,内存管理器不会帮你自动回收不再使用的内存。如果你忘了释放不再使用的内存,这些内存就不能被重用,就造成了所谓的内存泄露。一两处内存泄露通常不至于让程序崩溃,也不会出现逻辑上的错误,当然了,量变会产生质变,一旦内存泄露过多以致于耗尽内存,后续内存分配将会失败,程序可能因此而崩溃。内存访问越界,使用的内存超出了向系统申请了一块内存,覆盖该空间之后的一段存储区域,导致系统异常。
2023-07-22 22:53:58
1229
原创 【嵌入式 – GD32开发实战指南(ARM版本)】第1部分 基础篇 - 第22章 SPI
SPI,是Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。是一种高速全双工的通信总线,它由摩托罗拉公司提出,当前最新的为 V04.01—2004 版。它被广泛地使用在ADC、LCD 等设备与 MCU 间通信的场合。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。
2023-02-09 22:41:41
4427
1
原创 《编码 - 代码分析》代码结构分析
官网地址SourceMonitor 是 Campwood Software LLC 拥有版权的自由软件,非商业用途可免费使用。SourceMonitor的主要功能是对代码的一个分析和度量。即使用SourceMonitor软件我们可以清晰的看到代码的总行数,注释比例,语句数以及类的个数和函数的个数。SourceMonitor 有以下特点: 支持对 C、 C++、 C#、 VB.NET、 java、 Delphi、 Visual Basic 以及 HTML 在内的多种语言的源代码的分析;
2023-01-05 21:02:03
2491
原创 《编码 - 代码分析》代码覆盖检测
gcov是一个测试代码覆盖率的程序,正确地使用它搭配 gcc 可以分析、帮助你将代码写得更高效。帮助你优化程序。类似于一个profiling tool,使用 gcov 或者 gprof,可以收集到一些基础的性能统计数据。比如: 每一行代码执行的频度 每个代码文件中实际被执行到的行数 每一个代码块执行使用的时间gcov创建一个logfile叫做 源文件名称.gcxx (这里的源文件名称指的是.c或者.cc文件的文件名),表示的是这个 源文件.c 中每一行所被执行的次数。
2022-12-27 22:29:47
4194
原创 《嵌入式 - 深入剖析STM32》STM32 启动流程详解(GCC)
对于我们常用的桌面操作系统而言,我们在开发应用时,并不关心系统的初始化,绝大多数应用程序是在操作系统运行后才开始运行的,操作系统已经提供了一个合适的运行环境,然而对于嵌入式设备而言,在设备上电后,所有的一切都需要由开发者来设置,这里处理器是没有堆栈,没有中断,更没有外围设备,这些工作是需要软件来指定的,而且不同的CPU类型、不同大小的内存和不同种类的外设,其初始化工作都是不同的。本文将以STMF103(基于Cortex-M3)为例进行讲解。
2022-11-24 23:57:43
3375
原创 《嵌入式 - 嵌入式大杂烩》CoreMark性能测试
CoreMark是由EEMBC(Embedded Microprocessor Benchmark Consortium)的Shay Gla-On于2009年提出的一项基准测试程序,CoreMark的主要目标是简化操作,并提供一套测试单核处理器核心的方法。测试标准是在配置参数的组合下单位时间内运行的CoreMark程序次数(单位:CoreMark/MHz),该数字值越大则说明测试的性能越好。
2022-11-06 12:54:09
2553
原创 【嵌入式 – GD32开发实战指南(ARM版本)】第1部分 基础篇 - 第21章 I2C
I2C总线是PHLIPS公司推出的一种双线式半双工串行总线,是具备多主机系统所需的总线裁决和高低速器件同步功能的高性能串行总线。用于连接微控器及外围设备。I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。 物理层1)它只使用两条总线线路 :一条双向串行数据线(SDA),一条串行时钟线(SCL)。见下图。2)每个连接到总线的设备都有一个独立的地址,主机可以利用这个地址进行不同设备之间的访问。3)多主机同时使用总线时,为了防止数据冲突,会利用仲裁方式决定由哪个设备占用总线。
2022-09-17 23:27:04
3109
2
原创 【嵌入式 – GD32开发实战指南(ARM版本)】第1部分 基础篇 - 第17章 看门狗
开发板:GD32F207I-EVALGD32 有两个看门狗,一个是独立看门狗,另外一个是窗口看门狗,独立看门狗号称宠物狗,窗口看门狗号称警犬,本章我们主要分析这两只看门狗的功能框图和它的应用。
2022-08-24 10:28:31
4134
2
原创 【嵌入式 – GD32开发实战指南(ARM版本)】第1部分 基础篇 - 第16章 RTC
GD32 的 RTC 外设,实质是一个掉电后还继续运行的定时器。从定时器的角度来说,相对于通用定时器 TIMER 外设,它十分简单,只有很纯粹的计时功能(当然,可以触发中断);但从掉电还继续运行的角度来说,它却是 GD32中唯一一个具有如此强大功能的外设。所以 RTC 外设的复杂之处并不在于它的定时功能,而在于它掉电还继续运行的特性。以上所说的掉电,是指主电源 VDD断开的情况,为了 RTC 外设掉电继续运行,必须给GD32芯片通过 VBAT引脚接上锂电池。......
2022-08-16 09:21:29
4194
3
原创 【嵌入式 – GD32开发实战指南(ARM版本)】第1部分 基础篇 - 第13章 DAC
数字/模拟转换模块(DAC)是12位数字输入,电压输出的数字/模拟转换器。DAC可以配置为8位或12位模式,也可以与DMA控制器配合使用。DAC工作在12位模式时,数据可以设置成左对齐或右对齐。DAC模块有2个输出通道,每个通道都有单独的转换器。在双DAC模式下,2个通道可以独立地进行转换,也可以同时进行转换并同步地更新2个通道的输出。DAC可以通过引脚输入参考电压VREF+以获得更精确的转换结果。...
2022-07-25 07:44:51
2828
原创 【嵌入式 – GD32开发实战指南(ARM版本)】第1部分 基础篇 - 第12章 ADC
MDKKeil5.30开发板MCUGD32F207IK。
2022-07-17 22:06:39
6200
2
原创 【嵌入式 – GD32开发实战指南(ARM版本)】第1部分 基础篇 - 第11章 CPU的高级代理-DMA
开发环境:MDK:Keil 5.30开发板:GD32F207I-EVALMCU:GD32F207IKDMA (Direct Memory Access,直接存储器存取),是一种可以大大减轻 CPU 工作量的数据存取方式,DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输,因而被广泛地使用。早在 8086 的应用中就已经有 Intel 的 8237 这种典型的 DMA 控制器,而 GD32的 DMA 则是以类似外设的形式添加到 Cortex 内
2022-07-09 23:10:57
2715
原创 《Linux操作系统 - RK3568开发笔记》第5章 基于V4L2拍照
开发环境:主机:Ubuntu 18.04开发板:OK3568-C开发板Video for Linuxtwo(Video4Linux2)简称V4L2,是V4L的改进版。V4L2是linux操作系统下用于采集图片、视频和音频数据的API接口,配合适当的视频采集设备和相应的驱动程序,可以实现图片、视频、音频等的采集。在远程会议、可视电话、视频监控系统和嵌入式多媒体终端中都有广泛的应用。本文将基于V4L2使用usb摄像头(UVC)拍照。1.配置内核进入内核目录,配置linux内核2.启用摄像头支持最后一步时
2022-06-21 07:38:02
3438
2
原创 《HarmonyOS开发 – OpenHarmony开发笔记(基于小型系统)》第6章 环境监测系统
开发环境:开发系统:Ubuntu 20.04开发板:Pegasus物联网开发板MCU:Hi3861OpenHarmony版本:3.0.1-LTSPegasus物联网开发板有很多模块,笔者就使用环境检测板来实时检测环境变化。环境检测板有三个设备:AHT20 温湿度传感器,半导体可燃气体传感器 MQ-2,蜂鸣器MLT-8530。6.1.1 温湿度传感器AHT20简介AHT20是一款精度高,完全校准,贴片封装的温湿度传感器,采用标准IIC通信方式,超小的体积、极低的功耗。温湿度传感器均在高精度的恒温恒湿
2022-06-19 20:02:31
2630
5
原创 《HarmonyOS开发 – OpenHarmony开发笔记(基于小型系统)》第5章 WiFi联网(STA模式)
开发环境:开发系统:Ubuntu 20.04开发板:Pegasus物联网开发板MCU:Hi3861OpenHarmony版本:3.0.1-LTSHI3861默认已经初始化了WiFi,因此这里讲解如何使用WiFi联网。串口终端上执行相应的AT命令,即可使Hi3861 WLAN模组联网,依次执行如下AT命令,启动STA模式,连接指定路由器,并开启DHCP功能配置IP地址。查看Hi3861 WLAN模组与网关联通是否正常,如下所示。下面具体演示:有上图可知Hi3861 WLAN模组联网成功。当然也可在
2022-06-18 22:37:02
2607
4
原创 《HarmonyOS开发 – OpenHarmony开发笔记(基于小型系统)》第4章 OpenHarmony应用开发实例
开发环境:开发系统:Ubuntu 20.04开发板:Pegasus物联网开发板MCU:Hi3861OpenHarmony版本:3.0.1-LTS1.新建工程及源码在applications/sample/myapp中新建src目录以及myapp.c文件,代码如下所示。新建编译组织文件新建applications/sample/myapp/BUILD.gn文件,内容如下所示:static_library中指定业务模块的编译结果,为静态库文件libmyapp.a,开发者根据实际情况完成填写。
2022-06-12 12:58:49
1896
原创 《嵌入式 - 开源项目》一个小而美的嵌入式shell - letter shell
源码地址熟悉Linux的朋友的都知道,shell包裹在内核之外的人机交互界面,用于用户和内核之间打交道的功能,类似于windows CMD。 通过Shell将输入的命令与内核通讯,好让内核可以控制硬件开正确无误的操作工作。Shell有着不同的分类,比如Bourne shell(sh),Korn shell(ksh)、C shell (csh)、Bourne-again shell(bash)、tcsh。其中最常用的有csh和bash。Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的
2022-06-12 07:35:44
2454
原创 《Linux操作系统 - RK3568开发笔记》第4章 基于 Select Poll的TCP发服务器
开发环境:主机:Ubuntu 18.04开发板:OK3568-C开发板并发服务器支持多个客户端的同时连接,最大可接入的客户端数取决于内核控制块的个数。当使用Socket API时,要使服务器能够同时支持多个客户端的连接,必须引入多任务机制,为每个连接创建一个单独的任务来处理连接上的数据,多任务可以是多线程或者多进程,这是最常用的并发服务器设计。但是多线程/多进程消耗资源多,处理起来也比较复杂,本文将基于Select/Poll机制实现并发服务器。在具体讲解基于Select/Poll机制实现并发服务器之前,
2022-06-09 22:38:16
974
1
原创 《嵌入式系统 - RT-Thread开发笔记》手把手教你使用RT-Thread制作GD32 RISC-V系列BSP
熟悉RT-Thread的朋友都知道,RT-Thread提供了许多BSP,但不是所有的板子都能找到相应的BSP,这时就需要移植新的BSP。RT-Thread的所有BSP中,最完善的BSP就是STM32系列,但从2020年下半年开始,国内出现史无前例的芯片缺货潮,芯片的交期和价格不断拉升,STM32的价格也是水涨船高,很多朋友也在考虑使用国产替代,笔者使用的兆易创新的GD32系列,我看了下RT-Thread中GD系列BSP,都是玩家各自为政,每个人都是提交自己使用的板子的BSP,充斥着大量冗余的代码,对于有强迫
2022-06-09 21:58:37
1796
1
原创 《Linux操作系统 - RK3568开发笔记》第3章 源码编译
开发环境:主机:Ubuntu 18.04开发板:OK3568-C开发板1.创建工作目录2.拷贝源码将用户资料中的源码文件 OK3568-linux-source.tar.bz2.a*拷贝到虚拟机~/rk3568 目录。拷贝文件的方式有很多,笔者使用的是共享文件夹方式。【注】OK3568源码使用分段压缩,每段最大4G,这样方便拷贝,因此有些存储器单文件最大支持4G。3.解压源码耐心等待完成即可,解压时间有点久。4.进入源码目录结构1.编译前配置在 device/rockchip/ok3568/
2022-06-04 20:23:04
3403
1
第25章 配置OpenWrt支持网络摄像头-附件
2017-12-17
第19章 驱动开发之LED驱动程序-附件
2017-12-11
Learning OpenCV 3 英文版
2017-12-08
SSHSeccureShellClient客户端
2017-12-01
[GPU高性能编程CUDA实战].(桑德斯).聂雪军等.扫描版
2017-10-28
NetBox软件
2017-10-19
win32diskimager-1.0.0软件
2017-10-19
Xshell 软件(免费版)测试可用
2017-10-19
Keil使用Jlink ,dll不兼容的更新库
2020-12-26
SerialCommunicate.rar
2020-06-20
EasyWebServer网站服务器
2019-04-06
手写数字识别数据集
2018-09-12
Nearest Neighbor Pattern Classification-1967
2018-09-11
4G拨号(移远EC25)Openwrt+RT5350
2018-09-05
《A fast learning algorithm for deep belief nets》原文
2018-03-06
第27章 DS18B20温度传感器-附件:ds18b20驱动程序和应用程序
2017-12-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人