
嵌入式
暗狼天使
这个作者很懒,什么都没留下…
展开
-
在vmware上运行ecos
目前关于在vmware虚拟机上运行ecos的文章应该是有,我会放到文章最后面的资源链接,所以写这篇文章的目的有两点,一是补充原有文章的不足,在实际操作中遇到的困难。 二是提供其中相关的资源链接,因为ecos大多是资源站点都在境外,下载的速度实在不咋地。首先搞清楚ecos的系统结构,如图所示,其结构很像Linux的结构,所以在编译方式上也和linux相似,对于有Linux基础人上手就比较容易。主要...原创 2020-04-04 23:44:40 · 559 阅读 · 0 评论 -
Ecos操作系統查看进程信息
由于最近公司用到了ecos操作系统,所以简单的了解了一下这个RTOS,其相关的社区资源较少,国内基本不用,这里结合手册整理了一部分的内容。本文章主要两部分,一是建立基本的测试进程,而是枚举所有进程并查看相关信息。 如下代码是在原来的基础上增加的进程信息获取,其中堆栈使用的查看需要在ecos系统配置时启用测量堆栈使用,实际上就是启用一个宏定义。图形化配置如下,也可以直接配置宏(不推荐)。启用...原创 2020-04-04 21:50:05 · 945 阅读 · 0 评论 -
FreeRTOS三种数据结构区别(StreamBuffer,MessageBuffer,Queue)
转载自博客:https://blog.zh123.top/?p=308Queue队列是最基本的数据结构,在FreeRTOS v10.0后提供了另外两种高级数据结构为Streambuffer和MessageBuffer,称为流式缓冲区和消息缓冲区。了解它们的区别能够更好的在工作中选用合适的结构类型。本文通过引用官方文档和论坛中权威的回帖展示三者的区别,不做具体的使用介绍。1 Queue队列队列...原创 2019-03-22 16:56:02 · 9448 阅读 · 0 评论 -
arm linux的入口部分的代码分析笔记
原文转载自http://bbs.chinaunix.net/thread-2039668-1-1.html,写的不错,在这里首先感谢作者。查看带有图片的文章请移步 https://blog.zh123.top/?p=273本文针对arm linux, 从kernel的第一条指令开始分析,一直分析到进入start_kernel()函数.我们当前以linux-2.6.19内核版本作为范例来分析,...转载 2019-02-17 11:47:04 · 663 阅读 · 0 评论 -
树莓派上使用python实现LCD1602显示当前ip
树莓派一般运行Linux操作系统后通过远程控制来运行,但是往往由于网络原因导致树莓派分配的ip地址被改变,致使需要重新连接屏幕后才能查看树莓派的当前ip。最近手头有个LCD1602,所以尝试将通过驱动LCD屏,使用Python获取到相关网卡的ip,再循环显示到屏幕上。如下为主要的代码,已经通过了测试。#!/usr/bin/python3#importimport RPi.GPIO as GP...原创 2019-02-22 12:04:05 · 3178 阅读 · 0 评论 -
嵌入式中缓冲区队列的实现
在串口,IIC或SPI以及CAN等通信中,往往需要一次性发送一帧完整的数据,由于硬件发送的速度问题,硬件不能及时发送出去,就会导致数据丢失等一系列问题。通常采用建立缓冲区解决。队列可以有效的利用缓冲区空间,并且保证数据在发送和接收过程中的时序问题。现在网上有公开的队列源码,其一般由入队,出队,查询队列成员数量,创建队列,销毁队列等组成,相对比较完善,但是在串口等环境中使用存在过多的调用函数等问题。...原创 2018-04-12 16:53:35 · 2318 阅读 · 0 评论 -
STM32F1xx及STM32F2系列串口,SPI配置,CAN配置
平时常用的串口和SPI配置在这里列出来,以便不时之需,直接拿过来用。同时指出了STM32F1系列和STM32F2系列经常出现的问题。使用的库函数为标准库函数,而非HAL库。一、串口的配置: STM32F1系列串口:/* *函数名:USART1_Config() *描述:串口1配置函数 *输入:无 *输出:无 *调用:内部调用 */void USART1_Config(){...原创 2018-04-12 16:26:36 · 3609 阅读 · 1 评论 -
FreeRTOS中断优先级,临界区的配置(特别重要)
一 背景网上有许多关于FreeRTOS中断优先级的配置资料,但是在v10.0中个别配置项发生了变化,在这篇文章中详细的介绍了整个优先级管理配置方案。 ARM芯片的优先级为0~255,不同的芯片厂商所用的优先级不同,并不是全部使用,这里以ARM Cortex-M3系列为例。CM3内核的优先级分组如下: 为了更方便管理中断优先级,ST官方建议并且默认使用第5分组:NVIC_Prio...原创 2018-04-15 12:23:29 · 10093 阅读 · 0 评论 -
Keil4,Keil5下使用STlink II 仿真调试
1.关闭Keil软件 2.下载以下压缩包STlink II相关文件,包含三个文件ST-LINKII-KEIL.dll,StorAcc.dll和TOOLS.INI 3.将ST-LINKII-KEIL.dll和StorAcc.dll复制到Keil\ARM\BIN目录下,。 4.打开TOOLS.INI文件,文件在Keil目录下。在[ARMADS]下和[ARM]添加以下TDRV7=BIN\ST-LIN原创 2017-12-18 11:14:13 · 13724 阅读 · 0 评论 -
JLINK固件修复
0.开始前准备工具1.SAM-BA v2.12.exe 用于烧写固件 下载地址:http://download.youkuaiyun.com/detail/hzt12345hf/9457629新版本的SAM-BA(例如sam-ba v2.9)不能正确连接JLink,所以还是用了这个版本2.JLink v8固件 下载地址:http://download.youkuaiyun.com/detail/hzt12345hf/945转载 2017-07-30 21:15:04 · 5644 阅读 · 0 评论 -
STM32下调试CAN通信
基本流程: 1、初始化CAN模块: 启用CAN时钟 配置CAN功能寄存器(包括位定时,分频等等) 配置CAN过滤器 打开中断 2、初始化I/O口 启用GPIO时钟 打开CAN对应的GPIO引脚 配置重映射(根据实际情况) 3、定义CAN发送结构体,接收结构体 4、开始发送并准备接收总线上信号 5、检查接收邮箱收的数据是否原创 2017-06-14 16:02:00 · 2481 阅读 · 0 评论 -
STM32伺服编码器接口
在STM32的高级定时器和一般定时器中有Encoder interface mode(编码器接口),TI1和TI2分别对应TIM_CH1 和TIM_CH2 通道。 一、计数规则如下: 表55的是编码器不同的信号下计数方向。 1.仅在TI1边沿计数:上升沿触发时,若对应TI2为低电平,则计数器向下计数;对应为高电平,则向上计数。如图2.在○1和○2处,TI1的上升沿对应TI2为低电平,所以计原创 2017-06-14 16:00:47 · 2731 阅读 · 3 评论 -
使用HAL库函数建立STM32F2工程笔记
一、建立一个新的文件夹,新建三个文件夹User、Driver、Project,还可以加一个Doc存放工程的相关说明等等。 1、将STM32F2xx的库函数(HAL函数库)中的Drivers文件夹中的所有文件复制到Driver中。 2、找到.\STM32Cube_FW_F2_V1.1.0\Projects\STM322xG_EVAL\Templates目录下的INC和SRC文件夹,复制到User中原创 2017-03-07 20:44:33 · 3761 阅读 · 0 评论 -
DGUS调试笔记一
0、串口的通讯配置: 在机器背面VHC86芯片有两个焊点,若焊点短接,即屏工作在TTL电平下,默认出厂处于分离状态,即RS232电平下。直接将DIN与232的TX相连,DOUT与RX相连,地线直接相连,其中两个DIN两个GND用任意一个即可。DMT480270T043_02WT只能工作在5V电源。 串口通讯的测试可以参考通讯PDF文档,发送5aa503810001可以查看当前内核原创 2017-03-01 15:43:57 · 4541 阅读 · 0 评论 -
使用UART串口下调试CH376芯片
CH376是文件管理控制芯片,用于单片机系统读写U 盘或者SD 卡中的文件。CH376支持USB设备方式和USB主机方式,并且内置了USB通讯协议的基本固件,内置了处理Mass-Storage海量存储设备的专用通讯协议的固件,内置了SD卡的通讯接口固件,内置了FAT16和FAT32以及FAT12文件系统的管理固件,支持常用的USB存储设备(包括U盘/USB硬盘/USB闪存盘/USB读卡器)和SD卡(原创 2016-11-06 22:10:19 · 6148 阅读 · 0 评论 -
DSP中GPIO位域
在TMS320F2812中,对于程序中寄存器的名称是如何映射到物理地址的,这里做一下详细的讲解。主要应用到三个文件:*.CMD 、*.h 、DSP28_GLobalVariableDefs.c,其中CMD文件是对现有物理存储空间的分配。头文件包含各寄存器的结构体和共同体,在DSP中涉及到一种位域及结构。DSP28_GLobalVariableDefs.c这个文件中是使用pragma关键词使原创 2016-10-16 09:10:11 · 1136 阅读 · 0 评论