嵌入式
文章平均质量分 82
队长-Leader
这个作者很懒,什么都没留下…
展开
-
Makefile
一、前言在linux下一般使用Makefile来完成编译,而Makefile相当于脚本,它可以调用gcc、clang等编译器。但是Makefile有一套它自己的规则,而且与bash不太一样,以下介绍该规则。二、伪目标现在有以下main.c#include "stdio.h"void main() { printf("hello makefile\r\n");}对其编写的Makefile如下all: gcc -o hello main.c clean: rm -rf原创 2022-02-17 23:27:25 · 800 阅读 · 0 评论 -
ESP32 Secure Boot和Flash加密
ESP32的代码是存在外部Flash中,如果不加密,很容易被窃取代码。ESP32的secure boot和flash加密是两个功能,但是要配合一起使用,其加密效果才好。一、初次加密。这里只写可重复烧写的加密方式,其加密步骤如下:1、进入menuconfig配置secure boot和flash加密。make menuconfig这里Secure bootloader mode选择Reflashable。配置后要与下图完全一致。2、生成私钥,即pem文件。pyth.原创 2022-01-21 17:15:57 · 7740 阅读 · 5 评论 -
Android Studio同步Gradle失败的解决办法
一、解决办法。修改build.gradle,如下图所示。// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { repositories { maven { url 'http://mav...原创 2019-11-22 17:24:04 · 13381 阅读 · 7 评论 -
ESP8266搭建简易web服务器
ESP8266是个集成了LWIP协议栈的WIFI模块,利用它很容易就完成了物联网的功能。要搭建web服务器就必须支持HTTP协议。但是ESP8266官网提供的例子只能支持TCP,不直接支持HTTP。那么,就需要自己利用TCP来完成HTTP的请求包和响应包。一、搭建ESP8266的SDK开发环境。下载并安装集成IDE,AiThinkerIDE_V0.5。下载并安装Flash下...原创 2018-10-18 16:58:36 · 31357 阅读 · 6 评论 -
如何学习嵌入式软件
什么是嵌入式? 嵌入式分为广义和狭义两种。广义的嵌入式就是片上系统(system on a chip),包括单片机、PSOC、NIOS、Microblaze等。而狭义的嵌入式就是ARM9、cortex A8等特定的跑操作系统的芯片。这里主要介绍狭义嵌入式的学习路线。 还是主流的方法,先学会使用它,再深入研究底层。 常用的嵌入式操作系统有Linu...原创 2016-02-03 16:35:46 · 24285 阅读 · 3 评论 -
USB2.0协议概述
USB发展到现在,主要流行1.1、2.0、3.0这几个版本,而3.1暂时只有少量笔记本在用。主流版本区别:USB1.1,支持全速12Mbps和低速1.5Mbps。USB2.0,兼容1.1,增加了高速480Mbps。USB3.0,兼容2.0,增加了超速5Gbps。在用户的角度,使用USB设备是非常方便的。但是,在开发人员的角度,可是谈USB色变。由于USB硬件接口非常简单,从原创 2016-11-26 11:29:16 · 31024 阅读 · 0 评论 -
制作CentOS的U盘启动盘
用U盘装系统是个比较明智的选择,那么下面介绍CentOS系统的启动盘。首先,下载CentOS的iso镜像。我这里用的是最小化的安装包,Minimal ISO,不带桌面。你也可以根据自己的需求,选择不同的iso。然后,安装ultraiso。以上链接是个绿色软件,不需要安装。双击上图所示的图标。打开刚才下载的CentOS镜像。点击“写入硬盘映像”。原创 2016-12-09 21:54:12 · 24473 阅读 · 2 评论 -
常用的画流程图/时序图工具简介
流程图部分。一、Graphviz先下载并安装Graphviz。然后在sublime下安装插件。这样,就支持Graphviz的dot语言语法了。在subime下,添加一个dot语言的编译系统dotCompile.sublime-build{ "cmd": ["D:\\Graphviz2.38\\bin\\dot.exe", "-Tpng", "-o", "X...原创 2016-01-19 12:21:42 · 49401 阅读 · 0 评论 -
USB Still Image Capture设备类
USB是个常用的接口。很多设备都使用了USB协议,而这些设备都被分好类,而且各自使用的上层协议又有所不同,如下图所示。最常见的设备类协议是海量存储器的Bulk-Only协议(又叫BBB协议)。而这本要叙述的是Still Image Capture(静态图像捕捉)类协议(PIMA 15740,即ISO 15740)。Still Image Capture设备可以使用3种传输方式,其中原创 2016-07-30 10:24:53 · 3973 阅读 · 2 评论 -
USB端点
很多人会把USB的端点比喻成地址,但是USB设备本身已经有一个地址了,所以这样的比喻还不能很清晰地回答此问题。其实USB的端点是专门为软件工程师而设定的东西,所以硬件工程师不理解它,很正常。最直观体现端点的作用,是在使用usb hub的时候。在hub上挂接几个设备,而这几个设备能同时(准确来说是时分复用)工作。在单片机那种单线程思路:void main() {原创 2016-08-15 22:45:44 · 5745 阅读 · 2 评论 -
linux下不使用rm命令删除文件和文件夹
linux下的rm命令,功能太强,同时又没法撤消,为了避免误操作,可以自定义一个脚本来替代rm命令。如下图所示。这个脚本非常简单,而且没有使用rm命令。1、如果回收站不存在,就新建一个。2、把文件夹名结尾的/删掉(如果有/的话)。3、给文件名或文件夹名加上日期,是文件夹的话,先打包再放到回收站,同时把原先的文件夹放到/tmp下面。把上图所示的脚本保存为my_rm.s原创 2016-06-30 22:33:23 · 6987 阅读 · 1 评论 -
UBOOT目录解释(一)
uboot是bootloader,翻译为引导程序,也可以称之为启动代码,类似于PC机的BIOS一样。我们常用的51单片机,也是有bootloader的哦,只是厂家给你写好了,在keil C下面可以打开startup.a51,你可以看看它是如何给单片机初始化的。那么uboot也像是startup.a51的功能,只是强大了N倍而已。它不但完成了初始化功能,还带了,像串口、USB、网口、文件系统原创 2015-08-07 20:25:41 · 2981 阅读 · 0 评论