- 博客(153)
- 资源 (12)
- 收藏
- 关注
原创 freertos学习之临界区处理
简介每个进程中访问临界资源的那段代码称为临界区(Critical Section) (临界资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区,进入后不允许其他进程进入。不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问。多个进程中涉及到同一个临界资源的临界区称为相关临界区。注:多线程并发访问全局变量也是临界区问题程序调度法则进程进入临界区的调度原则是:如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。任何时候,处于临界区内的进程不可多于一个。
2020-12-01 21:07:57
12978
2
原创 freertos学习之任务调度切换
FreeRTOS 的任务具有如下几种状态:运行Running就绪Ready阻塞Blocked挂起Suspended除了运行状态之外的状态统称为非运行状态。因为 FreeRTOS 是为单CPU设计的系统,在任何时刻最多只能允许一个任务处在运行状态,哪怕看起来好像有多个任务同时在运行——这只是多个任务不停地切换带来的效果。当一个任务从运行状态切换到非运行状态时,执行时的现场——CPU寄存器被保存在任务的私有堆栈中;在重新回到运行状态时,再从堆栈中恢复之间保存的寄存器
2020-12-01 20:29:34
3168
原创 Websocket基础知识篇
WebSocket介绍websocket是HTML5的一种新协议,允许服务器向客户端传递信息,实现浏览器和客户端双工通信。先简单介绍下WebSocket。 我们都知道Http是处于应用层的一个通信协议,但是只支持单向主动通信,做不到服务器主动向客户端推送消息。而且Http是无状态的,即每次通信都没有关联性,导致跟服务器关系不紧密。为了解决和服务器长时间通信的痛点呢,HTML5规范引出了WebSocket协议(知道这名字咋来的吧,人家HTML5规范引出的,随爸姓),是一种建立在TCP协议基础上的全双工通信
2020-12-01 16:08:18
1244
原创 Ubuntu输入正确密码后无法登陆桌面仍然跳转输入登陆界面的解决方法
由于安装软件改错了环境变量,导致桌面循环登录,而且ctrl+Alt+F1进入控制台后输入任何命令都无效解决办法:一. 控制台输入命令:echo $PATH查看path是否含有:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin二. 如果没有,先用临时环境变量(重启后消失)控制台输入:export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr
2020-11-27 09:41:57
2127
5
原创 进程间的五种通信方式
进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。以Linux中的C语言编程为例。一、管道管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。1、特点:(1)它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。(2)它只能用于具有亲缘关系的进
2020-11-26 19:20:20
439
原创 网络编程socket
socket端口号范围1~65535。其中0不使用,1-1023为系统端口,也叫BSD保留端口。0-1023: BSD保留端口,也叫系统端口,这些端口只有系统特许的进程才能使用;1024~65535为用户端口,又分为:BSD临时端口(1024-5000)和BSD服务器(非特权)端口(5001-65535)。其中:1024-5000: BSD临时端口,一般的应用程序使用1024到4999来进行通讯;5001-65535:BSD服务器(非特权)端口,用来给用户自定义端口。Socket根据数据传输
2020-11-25 18:50:25
213
原创 Source Insight 最简单安装
Source Insight 4.0 最简单的破解安装1. EXE及破解lisence下载地址:http://download.csdn.net/download/jdsnpgxj/102131622. 下载后,直接打开其中的source insight 4.0,在弹出的对话框中选择第三项并将下载的文件si4.pediy.lic选中并“Next”即可破解!
2020-11-24 09:24:38
2870
1
原创 UltraEdit 工具jiehuo教程
1、工具准备(1)官网下载 UE (2)下载注册机 2、安装完成之后,打开UE运行文件,会提示用户激活(1)断网(2)点击“激活”,PS:这里的ID和密码随便填写(3)点击“激活”后会出现下图,点击“脱机激活”(4)这一步会自动产生用户码1和2;...
2020-11-24 09:23:51
20646
7
原创 matlab2016a安装
1、下载MATLAB 2016a安装文件2、下载Matlab 2016a 破解文件3、解压安装文件,安装文件为iso格式,但是不能通过虚拟光驱安装,需要将iso文件用解压软件解压。4、点击setup.exe,进行安装。5、点击setup.exe,之后稍等一会儿,MathWorks安装程序启动,启动后选择“使用文件安装密钥 不需要Internet连接”6、点击下一步,是否接受许可协议的条款哪儿...
2020-11-20 18:16:52
46522
4
原创 cjson安装及libcjson.so: cannot open shared object file: No such file or directory解决方法
一、JSON简介JSON是一种轻量级的数据交换格式,可读性强、编写简单。键值对组合编写规则,键名使用双引号包裹,冒号:分隔符后面紧跟着数值,有两种常用的数据类型是对象和数组。对象:使用花括号{}包裹起来的内容,数据结构{“key1”: “value1”, “key2”:“value2” …},key为对象的属性,value为对象的值。数值:使用中括号[]包裹起来的内容,数据结构{“key”: [“value1”, “value2”, “value3” …]}。1. {"name": "JSON"}
2020-11-17 17:14:22
4274
1
原创 linux使用popen、system函数执行shell命令无反应的解决方法
1.开发环境硬件:MT7688系统:openwrt(linux)2、解决方法将popen("ls","w");改为popen("ls > /dev/console","w");重点是/dev/console
2020-11-10 20:59:47
1629
原创 Ubuntu无法切换中文输入法的解决方法
1.安装搜狗输入法百度搜索:搜狗输入法linux,根据自己的系统位数和系统版本进行安装2.设置(1)选择系统设置(2)选择语言支持(3)选择键盘输入法系统为:fcitx3.重启系统
2020-10-29 10:25:27
12423
原创 关于嵌入式开发工程师的那些事(持续更新)
蓝牙最小广播间隔 20ms蓝牙最大广播间隔 10.24s蓝牙最小连接间隔蓝牙最大连接间隔 40ms蓝牙最小扫描间隔 2.5ms蓝牙最大扫描间隔 10.24s蓝牙最小扫描窗口 2.5ms蓝牙最大扫描窗口 10.24s
2020-09-18 11:43:16
979
原创 Linux串口应用编程
1.串口相关操作在Linux下,除了网络设备,其余的都是文件的形式,串口设备也一样在/dev下。打开串口:示例:fd = open("/dev/ttyUSB0",O_RDWR|O_NOCTTY|O_NDELAY);在打开串口时,除了需要用到 O_RDWR (可读写)选项标志外,O_NOCTTY:告诉 Linux “本程序不作为串口的‘控制终端’”。如果不使用该选项,会有一些输入字符影响进程运行(如一些产生中断信号的键盘输入字符等)。O_NDELAY:标志则是告诉Linux,这个程序并不关心DCD
2020-08-03 09:35:32
1010
原创 nrf52832系列--------saadc单次转换
52832的ADC和之前51822系列还是有蛮大差别的:1、支持差分输入方式,测量结果为两输入端口电压差的转换的有符号数值,这个功能对于啥桥式传感器的数据采集真是太爽了,可以省一个电平平移放大电路2、原始分辨率最高提升到12位,14位那个过采样方式实现的,使用限制很多,不能扫描,还不如自己软件解决要多少位有多少位。3、新增“通道”概念,每个通道可以选定使用的+-信号源,转换是以通道为个体进行的,如...
2020-07-28 11:35:42
514
原创 Esp8266 softAP热点配网
一、前言。上篇SmartConfigs一键配网介绍了如何利用UDP广播包来发送数据到8266进行配置配网,这种方式一般成功率还是比较低的。那么本篇介绍另外一种无线配网的、成功率更高的配网模式——-AP模式。softAP的配网模式的公开代码还是比较少的,但是出于好奇心,有了足够多的能力之后,我决定开源softAP配网模式的整个流程和源代码!几经翻阅机智云的soc源码
2020-07-28 11:34:49
1563
原创 Esp8266 UDP和TCP通信
一、前言。关于网络通讯,Maybe搞硬件的小伙伴不是很懂!因为关于UDP和TCP的协议是啥协议?有何不同?那本文仅仅做一个粗略的介绍!参考诸多资料,但会把其中的精华与要义介绍给大家!在网络传输应用层中,通常使用TCP和UDP这三种协议实现数据的传输。在传输过程中,需要双向的通讯连接实现数据的交互。因此,在这双向链路的一端称之为socket,一个socket有一个IP
2020-07-28 11:33:07
757
原创 MT7688如何更新menuconfig中的内容(openwrt)
许多开发者在开发MT7688的时候,使用make menuconfig后发现没有自己需要的lib库或者模块,那么可能是你的feeds太旧了,需要更新更新方法:./scripts/feeds update -a然后./scripts/feeds install -a如果你更新之后还是没有,需要修改某个文件该文件在openwrt文件夹下,即feeds.conf.default比如默认为src-git packages https://github.com/openwrt/packages.g
2020-07-28 11:30:26
589
原创 如何查看Ubuntu系统当前版本
一、系统位数在控制台输入:sudo uname --m如果显示i686,则表示安装了32位操作系统如果显示 x86_64,则表示安装了64位操作系统sudo uname --s 显示内核名字sudo uname --r 显示内核版本sudo uname --n 显示网络主机名sudo uname --p 显示cpu二、查看操作系统的版本号cat /etc/issue比如输出:Ubuntu 14.04.4 LTS \n \llsb_release -a三、查看系统类型,其中lsb表示
2020-07-28 09:42:05
1244
原创 如何手动升级更新ubuntu系统到最新版
首先安装更新(1)打开终端:Alt+Ctrl+T(2)更新资源sudo apt-get update(3)对软件升级sudo apt-get upgrade(4)接着安装系统更新,如果不希望升级系统版本,完成这步就可以了。sudo apt-get dist-upgrade 升级系统版本(1)安装上面的更新后重新启动一次系统sudo reboot (2)检测是否有ubuntu新版本sudo apt-get update sudo update-manager -
2020-07-27 14:18:28
32235
3
原创 Ubuntu/linux调用md5加密数据/文件
安装库sudo apt-get install opensslsudo apt-get install libssl-dev编写程序//gcc -g str_md5_demo.c -o str_md5_demo -lcrypto//#include <string.h>#include <stdio.h>#include <openssl/md5.h> int main(int argc, char* argv[]){ MD5_CTX ct
2020-06-29 14:45:06
867
原创 openwrt遇到clock_gettime问题解决
开发环境(1)Ubuntu12.04(2)openwrt 最新master解决方法找到/build_dir/host/bison-3.5.1/lib文件夹下的config.h和config.in.h注释掉/* Define to 1 if you have the `clock_gettime’ function. *///#undef HAVE_CLOCK_GETTIME/* Define to 1 if you have the `clock_settime’ function. */
2020-05-25 10:42:17
734
原创 Ubuntu12.04升级make的方法
官网下载makehttps://ftp.gnu.org/gnu/make/make-4.2.tar.gz解压tar -zxvf make4.2.tar.gz安装cd make4.2./configuresudo makesudo make install删除已安装的make:sudo apt-get remove make替换make文件:sudo cp make /usr/bin/make验证make -v...
2020-05-22 13:58:02
635
原创 Ubuntu12.04升级gcc的方法
1、添加软件源sudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo apt-get update2、安装gcc高版本(以gcc4.8为例)sudo apt-get upgradesudo apt-get install gcc-4.8 g++-4.83、完成之后,可以查看一下此时的版本号。gcc -v如果版本未更改,那么需要更新下连接。gcc4.8更新链接update-alternatives --install /usr/
2020-05-22 13:54:38
689
原创 openwrt编译出现libaprutil-1.so: undefined reference to `iconv‘
一、硬件平台1.1 控制器:MT7688二、软件平台2.1、开发环境:Ubuntu12.04 2.2、软件版本:openwrt-hiwooya-stable三、问题描述openwrt下载的lib库里面是apr、aprutil和iconv,而没有apriconv,在编译的时候会出现报错liba...
2020-04-29 17:27:44
694
原创 Openwrt如何添加SD_Card?看这里
一、硬件平台1.1 控制器:MT7688二、软件平台2.1、开发环境:Ubuntu12.04 2.2、软件版本:openwrt-hiwooya-stable三、功能说明本文章所选择的目标芯片为MT7688,profile 选择的为“LINKIT7688.dts”。对于openwrt增加对于s...
2020-04-14 15:49:29
3512
原创 Ubuntu安装OSS C SDK出现make install错误的解决方法
环境:Ubuntu安装准备:安装CMake和第三方库OSS C SDK安装时,需要安装编译工具CMake和第三方库curl、apr、apr-util、minixml。安装环境时所需参数如下:名称 描述 版本要求CMake 编译安装工具。 2.6.0及以上版本curl 主要解决网络方面的问题。 7.32.0 及以上版本apr-util 解决内存管理以及跨平台问题。 1.5.2 及以上...
2020-04-09 10:26:17
720
原创 OpenWrt操作系统移植SIM7600CE驱动及调试
1、开发环境操作系统:OpenWrt客户机:MT7688拨号方式:NDIS------>wwan02、配置文件及参数(1)USB Serial 的内核配置支持在 linux 内核配置中,请确保CONFIG_USB_SERIAL=yCONFIG_USB_SERIAL_WWAN=yCONFIG_USB_SERIAL_OPTION=yCONFIG_USBNET=y(2) 修改...
2020-04-07 15:34:57
3521
原创 CC2640编译stack成功编译app失败的问题解决方法
问题现象如下Error while running "C:\ti\xdctools_3_32_00_06_core/xs" --xdcpath="C:\ti\tirtos_cc13xx_cc26xx_2_18_00_03\products\tidrivers_cc13xx_cc26xx_2_16_01_13\packages;C:\ti\tirtos_cc13xx_cc26xx_2_18_...
2020-03-25 16:54:53
1174
原创 Linux移植E20模块驱动步骤解析
以openwrt-hiwooya-stable 源码为例, 对应的内核为 linux-3.18.45。 当然, 如果您是其他版本的 Linux 系统, 也可参考本章内容进行修改, 大同小异。(1)添加VIDD和PIDFile: [KERNEL]/drivers/usb/serial/option.cstatic const struct usb_device_id option_ids[]...
2020-03-18 11:46:08
1021
原创 ubuntu如何安装openjdk8
执行更新$ sudo apt-get update安装sudo ap[t-get install openjdk-8-jdk配置openJDK环境变量sudo vi /etc/environment加入下面值JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"JRE_HOME=${JAVA_HOME}/jreCLASSPATH=.:JA...
2020-03-17 10:24:33
495
原创 MT7688开发之EC20模块移植编译错误问题解决
开发环境:openwrt-hiwooya-stablegithub源码地址:https://github.com/hi-wooya/openwrt-hiwooya-stable问题现象:Package quectel_cm is missing dependencies for the following libraries:libc.so.6make[3]: *** [/work/op...
2020-03-16 13:20:32
1315
原创 nrf52832进入DFU升级之前卡死问题
nrf52832 SDK版本:nRF5_SDK_13.0.0_04a0bfd找到进入DFU BootLoader的函数,如下static void on_hvc(ble_dfu_t * p_dfu, ble_evt_t * p_ble_evt){ ble_gatts_evt_hvc_t * p_hvc = &p_ble_evt->evt.gatts_evt.params...
2020-01-22 15:22:29
1527
原创 如何解决CC2640用IAR下载固件出现Fatal error: Failed to load the CPU core driver Session aborted的问题
问题描述:用IAR下载固件时弹出Debug Log窗口显示内容解决方法:在IAR安装目录下C:\IAR_Systems\Embedded_Workbench_7.5\arm\drivers\ti-xds点击安装ti_emupack_setup.exe,重新用IAR下载就可以成功了...
2020-01-19 17:26:24
3997
5
原创 CC2640蓝牙丢包问题(notify发送返回0x16:blePending)
发送间隔:24ms发送包长度:20字节从机 Notification发送方式有两种,用户根据自身要求选择:(1)调用GATT_Notification( uint16 connHandle, attHandleValueNoti_t *pNoti, uint8 authenticated );直接发送(2)调用GATTServApp_ProcessCharCfg函数,这个函数内部最终会导致...
2019-10-11 13:59:01
7627
原创 esp-idf版本更新及切换方法
ESP-IDF 版本简介ESP-IDF 的 GitHub 仓库时常更新,特别是用于开发新特性的 master 分支。如有量产需求,请使用稳定版本。发布版本您可以通过以下链接访问各个版本的配套文档:最新稳定版 ESP-IDF:https://docs.espressif.com/projects/esp-idf/zh_CN/stable/最新版 ESP...
2019-09-06 14:25:02
9752
原创 ESP32之软件SPI驱动及SPI、HSPI和VSPI的理解
ESP32 共有 4 个 SPI 控制器,用于连接支持 SPI 协议的设备。 SPI0 控制器作为 cache 访问外部存储单元接口使用, SPI1 作为主机使用, SPI2 和 SPI3 控制器既可作为主机使用又可作为从机使用。作主机使用时,每个 SPI 控制器可以使用多个片选信号 (CS0~CS2) 来连接多个 SPI 从机设备。 SPI1 ~ SPI3 控制器共享两个 DMA 通道。...
2019-08-22 13:51:17
36924
3
原创 编译CC2650出错问题一之解决方法
编译出现一下内容:Building configuration: cc2650em_app - FlashROM Updating build tree... Performing Pre-Build Action Error while running "C:\ti\xdctools_3_32_00_06_core/xs" --xdcpath="C:\ti\tirtos_cc13xx_c...
2019-08-13 16:26:01
1124
原创 GPIO口模拟SPI四种模式
void delay(){ unsigned char m,n; for(n=0;n<5;n++); for(m=0;m<100;m++);}/************************************************ 端口方向配置 与输出初始化***********************************...
2019-07-19 14:10:05
4522
原创 nrf52832之RTC的使用
nrf52832有三个RTC,即RTC0、RTC1和RTC2。其中RTC0用于蓝牙,也就是说,如果使用到蓝牙功能,则RTC0被占用,用户无法使用,否则会报错RTC1用于FreeRTOS,而RTC2是用户最常用到的,RTC2的配置公式RTC的功能极低,只有0.1uA...
2019-07-17 19:37:43
5387
嵌入式操作系统笔试题汇总
2020-09-22
IAR破解工具及方法步骤
2018-01-28
STM32F103RC+ADC+DMA多通道采样LCD显示
2018-03-19
bayes定位算法.rar
2020-04-22
MAX32625开发工具包
2017-05-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅