自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (7)
  • 收藏
  • 关注

原创 腾讯轻量应用服务器CentOS+宝塔面板安装Wiki.js并添加中文检索支持

在腾讯轻量应用服务器 CentOS + 宝塔面板环境中,安装wiki.js并在wiki.js中添加中文检索支持。

2022-07-11 15:07:31 2552 7

原创 OpenBlock Scratch3.0+Arduino+各种硬件二次开发 全部开源

简介发起这个开源项目主要是因为我找遍全网也没发现个能用的开源程序,只能自己来写了。本项目的一小部分启动内容是参考了 小喵科技(Kittenblock) 的一个早期开源代码版本,之后大部分内容就全是我自行完成的了。本着回馈社区共同进步的想法,该项目的全部源代码都已经放在了github上,采用scratch3原本的MIT协议开源。整体上来讲工程结构沿用了scratch3的框架,开发的新功能也遵循了scratch3原版的组件结构和代码规范,并不是简单粗暴的打补丁功能上去,新添加的UI也尽量与scratch3保

2020-10-25 10:57:29 15037 25

原创 在树莓派安装 ROS Melodic 和安装ROS软件包(适用其他ARM硬件系统)

前言由于树莓派的系统 raspbain 自带的 ROS 软件包与正常的 Ubuntu 系统不同且数量不全,所以需要使用 rosdep 工具下载源代码进行编译和安装,而 rosdep 需要访问的网址 https://raw.githubusercontent.com 被GFW,基本无法直接连接或速度极慢,所以一开始需要在树莓派上配置天梯(由于不是完全封死,所以有时通过手机热点或在某些地区也许可以不通过天梯连接,可以自行测试后再确定是否需要)该方法同样适用于其他arm硬件系统更早的工作更换系统 ap

2020-09-02 10:54:19 2456 1

原创 STM32 HAL库 硬件I2C 从机主机防BUG程序

前言最近死磕了5天的STM32F1硬件I2C从机的程序,天天早上8点到凌晨,几乎全程心流状态。终于在结合各方资料即自己的思考后,做出了稳定的硬件I2C代码(这个文章中应该是目前为止能查到的最详述可用的硬件I2C代码),经过各种奇怪的I2C主机型号的蹂躏后,通讯都可以恢复正常,不会被卡死。证明该方案拥有极高稳定性。需要注意我这次使用的是 STM32F103C8T6 的兼容型号 GD32F103C8T6 。要问他的兼容性有多强,连I2C bug都能做到一样,哈哈。我当初用GD想着硬件I2C应该能舒服用了,万

2020-05-24 02:23:31 11843 6

原创 嵌入式自动化单元测试(2)-Ceedling

相信大家都已经初步读过了《测试驱动的嵌入式C语言开发》这本书了,也大致理解了其思路。不过当我们打算按照书中的内容进行实践时就会发现,似乎书中提过的Unity框架和Cpptest几乎很难搜索到具体的使用和操作资料了。而这个系列就是为了教会大家来在我们熟悉的环境中搭建测试框架的,下面我们正式开始。什么是Ceedlingceeding是一个用ruby语言编写的c语言自动化测试框架,是...

2018-03-08 16:33:08 8121 12

原创 嵌入式自动化单元测试(1)-简要介绍

单元测试,是指对软件代码中的最小模块进行检验和验证,这一方法在如今的高级语言工程项目开发中拥有很重要的地位。就目前的大环境来说,单元测试更多被提及和应用的领域是在C++、Java等高级语言项目开发的PC或服务器等平台的软件工程中,而在嵌入式领域,国内几乎没有可查的资料,偶尔的一两篇或者是草草说明,或者是简短的转载纯粹外文的资料。我曾一度怀疑是否有应用在嵌入式单片机或处理器领域中的单元测试方法...

2018-03-08 15:29:32 5715 1

原创 STM32高级开发(18)-使用VS Code搭建STM32开发环境

以前在伴随着开发平台的转换中,我尝试过各种各样的开发环境,而在最近一段时间的开发中我使用了Visual Studio Code来作为代码编辑器,其优异的工程管理,超快的启动速度,各种各样功能强大的插件,使我立刻爱上了这个文本编辑器。但是在开发中来来回回在编辑器和Keil等IDE之间来回切换对我造成了不少不方便,另外由于希望能够在windows下使用gcc工具链开发,所以我尝试使用插件来完整的在vs

2018-01-17 22:11:22 58062 20

原创 STM32高级开发(17)-使用DFU方案

STM32 DFU 快速移植及使用教程什么是 DFUDFU全程为Device Firmware update,是ST官方推出的一个通过USB接口进行IAP升级的方案,包括单片机DFU Demo代码以及PC端升级程序及其Demo代码。通过使用DFU方案,我们可以快速的集成升级功能到开发的产品中,同时还能够快速的开发与之配套的升级程序。

2017-12-13 11:50:41 15855 2

原创 STM32高级开发(16)-CMSIS DAP调试工程

最近公司的项目在等供应商的设备有点空闲的时间了,就折腾了下ARM官方开源的CMSIS DAP调试器的方案,用的是X893大神的方案,主要写的是再Ubuntu使用 CMSIS DAP调试的方法

2017-10-14 09:57:57 12148 3

原创 S3C6410开发(3)-编译运行第一个流水灯程序

我们正式开始编程~编写程序由于我们是在纯裸机上编程,没有uboot之类的程序为我们初始化硬件资源,所以我们要编写一个带有初始化功能的汇编文件。同时为了直观地感受到程序的运行,我们在里面添加一个流水灯的小程序。

2017-09-01 17:53:12 1287 2

原创 S3C6410开发(2)-构建开发环境

由于和之前的介绍的STM32在Ubuntu下的步骤相同所以在这篇中我们就不详细介绍了,只简单的说一下我们需要准备的东西。操作系统:Ubuntu16.04 LTS 编译工具链:gcc-arm-none-eabi调试器:Jlink+openOCD

2017-09-01 16:47:58 1058

原创 S3C6410开发(1)-初步入门

由于公司接下来发展方向的需求,最近忙里偷闲开始学习ARM嵌入式编程,拿出了好多年前买的飞凌嵌入式的OK6410开始慢慢研究,今天花了一整天的时间终于搞定了裸机的编译环境也成功使用Jlink进行了调试。所以从今天开始我重开了一个系列的文章,来记录我的学习过程,一来加深自己的记忆,二来也为如果想要从单片机转行嵌入式的同学提供一些思路,来更快的理解嵌入式编程。

2017-09-01 16:29:59 1344

原创 STM32高级开发(15)-使用eclipse开发STM32

我刚刚接触linux上单片机的开发,最喜欢的就是 eclipse + arm-plug-in + arm-none-eabi 的开发环境,,然而那是由于对eclipse亦或是makefile等编译过程中的工具的不甚了解,很多时候会遇到一些错误无法解,直到最近我再一次的尝试了eclipse开发环境的搭建和使用,我才很顺利的完成了程序的配置,现在也把这个方法推荐给大家。

2017-02-23 13:46:48 13093 12

原创 STM32高级开发(14)-使用CubeMX生成STM32工程

在我们了解libopencm3的使用后,发现libopencm3只适用于小型工程,其最大的特色只是在USB方面的使用方便,那么在我们配置大型工程的时候有没有一种更快捷的方式呢,显然是有的。它就是CubeMX,ST官方出的神器,可以使得我们像配置FPGA一样配置STM32的功能。CubeMX早期是运行在windows下的,但由于是Java写成的它也可以同样的运行在Linux环境中。

2017-02-22 19:27:26 7352 9

原创 STM32高级开发(13)-Ubuntu下的串口助手minicom

在这么长时间里我们在Ubuntu上调试stm32,大家在使用串口的时候是不是一直都是在宿主机上的串口助手中查看串口信息呢?来回切换是不是很麻烦?那么在这篇中我们就来介绍一下在Ubuntu下的串口助手,或者准确点说应该叫串口终端,它就是minicom。

2017-02-10 12:22:21 3393

原创 STM32高级开发(12)-在GCC中使用printf打印串口数据

在大家使用keil或是iar开发stm32等arm芯片的时候,想来最不陌生的就是使用print通过串口输出一些数据,用来调试或是其他作用。但是要明确的是由于keil iar gcc 他们使用的标准C语言库虽然都遵循一个标准,但他们底层的函数实现方式都是不同的,那么在GCC中我们能否像在keil中一样重映射print的输出流到串口上呢?答案是肯定的。

2017-02-10 11:36:27 12671 15

原创 STM32高级开发(11)-使用GDB调试你的工程

在GNU编译器中,GDB无疑起着无足轻重的位置,常言有道:写工程3分靠写,7分靠调。GDB作为GNU编译器下的标准调试工具,在我们的项目编写即调试过程中会被平凡的使用到。而由于我们在IDE环境下娇生惯养出来的习惯,我们可能不太容易上手一个用命令行为主要操作和显示形式的调试器。所以在这篇中我们会为大家详细的讲解GDB工具的使用,来让大家快速的入门。

2017-02-08 23:51:25 24118 12

原创 STM32高级开发(10)-搭架你自己的libopencm3工程

在上一篇中,我们介绍了下载和使用libopencm3固件库的官方例程,同时我们也介绍了官方历程中的makefile等文件结构和引用方式,不知道大家注意到没有,实际上在我们使用的makefile中的目标里,是有flash等通过调试器下载的操作的,但是由于在rules.mk的文件下存在一些错误,所以可能工作并不正常。而且在我们实际的使用中不会涉及到那么多的MCU型号和开发板,所以在这篇中我们就来教大家,

2017-02-08 19:17:29 5891 5

原创 STM32高级开发(9)-学习与编译libopencm3-example

在前面的几篇中我们为大家介绍了在Linux下stm32开发环境的新特性和使用方式,可能大家觉得,我怎么写一个工程还要自己写链接文件和启动文件,是不是太不方便了点。那么这篇中我会告诉大家其实并不是这样的。在我们日常的一些小规模工程下我们是可以使用一个叫做libopencm3的cortexM核的通用驱动库来配置我们的工程。

2017-02-08 12:35:13 10000 4

原创 STM32高级开发(8)-链接器与启动文件

在上一篇中我们介绍了,样例工程中的makefile的工作原理和功能。我想对大多数童鞋来说理解编译器将**.c**文件编译为**.o**文件并不大困难,但是却难以明白最后链接的过程,是什么作用和为什么要这样做。还有就是我们在样例工程中启动的文件为什么是自己编写的,它有怎样做到将程序入口引导到main函数上,那么在这篇中我们就来深入的讨论下这两个话题。

2017-02-04 18:21:33 13011 17

原创 STM32高级开发(7)-浅析样例工程的Makefile

上一篇中我们为大家介绍了makefile的最简单的用法和关于它的学习资料,本篇建立在大家已经稍许看过makefile的教程上,结合我们的 arm 工具链来具体分析上一篇中makefile的配置和作用。

2017-01-31 19:13:14 7579 9

原创 STM32高级开发(6)-makefile与调试器驱动

上一篇我们介绍了整套开发环境中的最重要的一环 :编译工具链。而在这篇中我们会介绍与其配合使用的makefile与调试器驱动,将这些工具结合,我们所需要的开发环境就简单的搭建完成了。最激动人心的:在这篇文章的最后我们将去尝试编译一个流水灯程序。

2017-01-30 21:20:32 14780 40

原创 STM32高级开发(5)-gcc-arm-none-eabi

在完成对ubuntu的基本操作和指令的学习后,我们下面正式的进入有关于我们stm32/ARM单片机的软件安装过程。首先我们就要介绍这个会贯穿我们整个开发过程中的软件gcc-arm-none-eabi。gcc-arm-none-eabi是什么最直接的当我说出这个软件的时候,大部分童鞋可能会奇怪他到底是个什么呢?首先他是个软件这就不用多说了,做什么的软件呢?编译软件,或是准确点叫工具链...

2017-01-30 18:58:17 66867 9

原创 STM32高级开发(4)-ubuntu的简介和命令

在也许大家历经了诸多困难终于安装并设置好了系统平台。但是在新的系统下两眼一抹黑,不知道怎么用,我们接下来便来介绍一些ubuntu的基础特性、操作和终端的基础指令,来为接下来的编程开发做好铺垫。

2017-01-30 00:13:19 3623

原创 STM32高级开发(3)-设置与更新ubuntu

本打算一篇写完的后来感觉好像篇幅有些长,所以分成了两个部分。

2017-01-29 23:12:57 3127 2

原创 STM32高级开发(2)-安装使用ubuntu

作为一切开发的起点,我们首先要安装一个Linux发行版系统作为我们开发的最基础的支持性平台,这里推荐下载ubuntu系统,ubuntu可以说是近些年来最流行和使用广泛的Linux发行版系统了。

2017-01-29 18:18:37 5306

原创 STM32高级开发(1)-开源是什么

开源的历史及简介在上个世纪计算机发展的早期阶段,软件几乎都是开放的,任何人使用软件的同时都可以查看软件的源代码,或者根据自己的需要去修改它。在程序员的社团中大家互相分享软件,共同提高知识水平。这种自由的风气给大家带来了欢乐,也带来了进步。但不久之后,以微软为主的一些商业公司就破坏了这种风气。这些商业公司从自由的计算机社团里雇佣了大量的技术高手,开发带有知识产权保护的专有软件。他们在分发软件的时候也不

2017-01-29 15:20:32 11833 11

转载 谁创造了硅谷?仙童半导体“叛逆八人”

文章转载自:http://blog.sina.com.cn/s/blog_457012450100vnbl.html对科技史感兴趣的人都应该看一下这部纪录片。 纪录片《硅谷》一想到硅谷,你脑海中浮现的公司很有可能是苹果(Apple)、谷歌(微博)(Google)以及Facebook。但是让我们回到20世纪50年代,那个科技创新以硅为中心的时代,那个在肖克利实验室和仙童恩恩怨怨中硅谷成长的时代。

2017-01-27 20:06:58 4223

转载 Intel能够成为蓝色巨人,原来得感谢没有眼光的日本人!

文章转载自:http://www.wtoutiao.com/p/10d4Trw.htmlIntel的第一款商用处理器4004,在前几天刚刚过完自己44周岁的生日,步入不惑之年的她,虽然现在看来这个处理器的性能简直弱爆了,但是在当时她确实收获了荣誉无数,但小编觉得,她的光芒其实超越了英特尔最新发布的那个10核心20线程的i7-6950x。英特尔于1971年11月15日宣布了4004处理器及其芯片集,它

2017-01-27 19:56:32 987

原创 电子工程师的基本素养--计算机篇

求学的四年间遇到了不少同学,之前确实很少有机会接触计算机,同时也确实没有环境在接触计算机的时候不玩游戏而是研究研究别的,有的同学甚至连基础的office操作可能都不大会。在现实的情况中很明显我们无法去忽略这种状况,因为这样的同学的数量真的很多,所以我决定写下这个章节来试着总结一下身处这个行业的我们究竟要掌握哪些基本的计算机使用才能为我们通向更远的距离做好积淀。

2017-01-16 16:44:30 2294

原创 电子工程师的基本素养--英文篇

电子工程师的基本素养–英文篇在大学实验室的这4年间,我遇到过许多英文水平不好的同学们,也见到了由此为他们带来的专业技能提高的限制。在这片文章中我希望以为浅显的认识来分析一下身在电子行业的我们为何需要学好英文,同时也将为大家介绍一些学习专业内英语的方式及提高自己阅读英文材料的速度小技巧来,使大家对英文材料不在望而生畏。-一些历史知识 - 英文的!英文的!还是英文的! - 怎样学习专业内的英文 -

2017-01-11 21:40:10 5897 2

原创 STM32中使用printf打印串口数据

STM32使用printf打印串口该方法适用于STM32的串口重映射方式,实现了使用printf等标准C流函数输出数据的办法,极大的减少了输出串口数据时所需要做的数据处理。

2016-03-13 12:12:04 45529 2

I2C 接口进入 Busy 状态不能退出.pdf

T官方 I2C BUG分析解决文档,分析了一个用户在使用STM32硬件 I2C与E2PROM通讯时的BUSY位被置位卡死的情况

2020-05-24

CoIDE提供的STM32F10xhd启动文件学习

这是我在一年多研究arm gcc 编译过程中记录的文档,它详细的标注了stm32启动文件中各个部分的作用,应该能够大家理解stm32启动的过程。由于是在OneNote中写好的笔记,在导出为PDF之类的文档时中间的部分会被截断,所以最后就以mht的文件格式保存了,大家在阅读时使用自己的浏览器就可以打开。

2017-02-04

跟我一起写Makefile陈皓

2017-01-30

MSP430 BSL下载软件加接口图片

BSL下载软件 ,里面有MSP的下载接口接线方法,非常简单好用的一款MSP430 BSL的下载软件

2014-07-20

USBASP下载器

USBASP下载工具 找了好久 才找到,绝对可以使用,翻了好久的网盘~

2014-07-20

ATMEL 24c08驱动

完全按照时序图 所写的24C08驱动 但不保证正确性 因为一直没有时间验证 仅供参考,如有错误 亲告我一声

2014-07-20

MSP430的Nokia5110驱动

基于MSP430F149的Nokia5110屏幕驱动程序

2014-07-20

空空如也

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

TA关注的人

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