自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ISE14.7 / Vivado 关联Notepad++

一、ISE14.7与Notepad++的关联,请看图命令:{C:/Program Files (x86)/Notepad++/Notepad++.exe} $1二、Vivado2018.2关联Notepad++,请看图命令:C:/Program Files (x86)/Notepad++/Notepad++.exe [file name] -n[line number]

2020-06-19 19:50:10 1509 1

原创 Xilinx Vivado平台2018.2安装教程(附License)

第一步,下载软件安装包链接:https://pan.baidu.com/s/1Q16DHe9UwcTzw_oMqNYpPQ提取码:xmdt复制这段内容后打开百度网盘手机App,操作更方便哦第二步,安装,一路下一步等待安装完成第三步,添加License...

2020-06-17 17:03:17 20318 6

原创 liteOS移植到STM32F746ZG(非接管中断)

平台配置:开发板:NUCLEO-F746ZG,MCU为STM32F746ZG库版本:最新版的HAL驱动库操作系统:liteOS 1.0第一步、创建裸机工程,工程结构如下图所示工程目录说明:app:用户创建的文件都可以添加到这里。bsp:板级支持文件。cmsis:架构相关文件config:配置文件都可以添加到这里hal:官方cube_hal库linke...

2019-06-06 15:59:07 1105

原创 DWT计数器在cortex-m7上不能正常工作的解决办法

近几日,闲来无事,决定把LiteOS移植到STM32F746ZG_NUCLEO开发板上,调试过程中发现HUAWEI提供有dwt.c/.h的实现,心痒痒就决定弄个闪烁LED试一下,结果发现不能正常运行,断点跟踪发现DWT_CYCCNT计数器的值始终为0,也就是说DWT压根就没进行计数操作,但是F4和F1系列却可以正常工作。这说明M7核心的配置肯定跟M3和M4有所不同,打开core_m4.h和core...

2019-06-06 11:21:28 1407 1

原创 VMware下Windows宿主机与Linux虚拟机文件共享配置方法

废话不多说,直接上内容^_^ ^_^ ^_^。版本配置:VMware 15;Windows 7;Linux Ubuntu18.04 LTS。第一步:按图操作进入虚拟机设置界面选中【选择】标签,点击【共享文件】,选中总是启用单选,通过【添加】按钮添加要共享的Windows文件夹,图中显示的是我的共享路径:D:\ShareLinux,如果要共享多个文件多点几次【添加】即可。添加完成后,...

2019-03-13 14:40:34 641

原创 arm-linux开发常见问题一:所有文件操作命令都提示“Read-only filesystem”

解决方法:执行如下命令:【root@m28x ~】# mount -o remount rw /若执行成功则没有任何提示,直接回到shell界面,如下:【root@m28x ~】# rw -以读写方式挂载remount -重新安装已经安装了的文件系统/ -代表根文件系统 ...

2019-02-08 20:05:24 1008

原创 软件定时器实现源码

原理:软件定时器的原理其实很简单,就是在启动定时器的时候获取当前系统的时间戳start_ts,然后用start_ts加上要定时的时间dly_ts(timeout= start_ts + dly_ts),在心跳定时器中断中查询当前时间计数值(时间戳),如果查询到的计数值大于timeout,说明定时时间到,并调用回调函数执行操作。资源:1个硬件定时器,用作心跳时钟下面我们来实现一个简单的基于裸

2016-10-09 15:33:18 6963 1

原创 stm32模拟串口(基于高精度延时)

上一篇实现了高精度延时,这一节我们利用已实现的高精度延时接口来模拟串口发生数据(接收数据暂时没用到,所以偷懒没实现),直接上代码。一、softserial.h#ifndef _SOFTWARE_SERIAL_H#define _SOFTWARE_SERIAL_H#include "stm32f1xx.h"void soft_serial_init(v

2016-10-09 14:52:29 5792 1

原创 基于CYCCNT时钟周期计数器的高精度延时接口

在MCU资源不足时,我们经常会用普通IO模拟串行时序,例如:i2c,uart等。此时,就会需要一个比较精确一点的延时来提供通讯成功率。STM32MCU调试单元提供了一个时钟周期计数器,利用该计数器我们可以实现一个高精度的延时计时器。概念:频率fclk(cpu时钟)与时间的关系,t=1/fclk,例如:系统时钟为72MHZ,那么一个时钟周期的执行时间为:1/72(us),也就是72个时钟周期的执

2016-10-09 14:12:12 2937

原创 mbed移植日记:spi_api(基于STM32F107RC,适用于C)

spi是比较流行的一种串行外设,很多外设和集成IC都会使用到,如显示,AD、DA、FALASH等等都会用到。虽然使用stm的cube库也用着不错,但每次使用时都得重新粘贴复制一遍很是麻烦,故才会有此篇文章。模块的设计格局与官方mbed有些地方是不一致的,读的时候请注意一下。因为是在项目过程中创建,模块接口不够全面,大家可以自行添加需要的API。注意:中断设计方法请参考mbed seri

2016-09-28 16:48:17 3159

原创 MBED移植日记:exti_api(基于STM32F107RC,适用于C)

mbed官方库并未提供exti_api模块,此乃本人在项目中根据实际需要创建的,用着也还顺手。内容比较简单,直接把源代码奉上。该模块会用到gpio_api中的接口函数。一、gpio_api.h/** ****************************************************************************** * File Nam

2016-09-28 15:53:50 839

原创 MBED移植日记:gpio_api移植(基于STM32F107RC)

本文是继MBED串口API移植的又一篇系列文章,前阵子忙着赶项目,移植完了却没来得及写成文章来分享,今天来补上,一来可以温故知新,二来也可以献出自己的一点微薄之力。写的不好,移植的也不一定好,请大家多多指教。本文的gpio_api模块与mbed官方的会有一些不同,原因是加入了我个人理解的一些东西。一、关联文件1、ierror.h/* **********************

2016-09-27 12:04:28 2086

原创 stm 64位整数加减乘除时须注意的一点

最近在一个项目中使用stm32f405做数据采集,要对采集的65536个数据进行累加、乘累加等操作。测试的时候发现,计算结果不对,单步跟踪发现,几个数之后就已经溢出了,于是把计算后的结果强制转换为i64位,可是问题依旧,查看反汇编,发现没有使用到相关的多数据操作指令,觉得很奇怪,于是把公式中的每一个变量对进行了显式的强制类型转换,结果正确了。描述:stm32,64位跟32位数混合运算时计算结果

2016-09-25 11:50:04 6896 2

原创 sd卡拔插或重新上电后无法继续使用(初始化失败)

最近1个项目需要用到sd卡保存采集数据,起初是stm驱动一大堆bug,浪费了好几天的时间。接着又出现了这个问题。描述:sd卡拔插或重新上电后无法继续使用,表现为初始化失败,但是,格式化一次后又可以使用了。一旦拔插或断电,问题又出现。分析:起初天真的认为,是不是因为拔插或断电的时候,SD卡正好在读写数据所导致,于是把sd读写相关的代码全部注释掉。可是,问题依旧存在。后来又想是不是SD卡本身的

2016-09-25 11:09:18 6173 7

原创 J-LINK下载程序时的注意事项

前一阵子,领导设计了2个小板,stm32的MCU,使用J-Link下载程序时怎么都下载不了,各种错误,试遍了网友们提供的所有方法也没解决了,折腾了有一个星期差不多。下面看看解决方案:问题现象:无法下载程序到MCU。提示超时原因:下载线缠成了双绞线所致,神奇不,为什么会是双绞线(适用于差分信号)。解决方法:把双绞线换成非双绞线,问题不再出现,把把下载成功,屡试不爽。注意事项:1、不要

2016-09-25 11:04:48 3239

原创 stm32官方SD卡驱动的使用注意事项

使用stm32 CUBE 库所提供的SD卡驱动的朋友们请注意:1、适用于MMC卡,本人没测试过,mmc卡现在已经是收藏品了,谁还会用呢,so,st的团队求求你们严谨的好不好。2、SD卡初始化过不去,因为丫在发送CMD0后,接着发送了CMD1(CMD1是mmc卡的独有指令,SD卡是不需要发CMD1的),读写驱动函数也有问题(不分情况的修改了sd卡的块大小,统统设置成了512字节),就因为这个

2016-09-25 10:14:40 4857

原创 STM32F107RC下载程序时的1个错误

今天上午新到了1批电路板,需要下载程序,由于好久没出货了,打开源代码工程进行下载时,居然出现了问题。程序在下载完成后直接跳到了HardFault_Handler()硬件中断错误中,程序下载到别的电路中没有问题!为什么呢,肯定是不经意修改了编译选项?找吧,经过一番苦寻,终于找到了结果,原来是闲的蛋疼没事修改了linker选项中config标签下默认的linker config file:.icf文件

2016-08-26 10:22:16 620

原创 mbed serial_api模块移植到stm32f107vc(基于st32f1 cube1.4.0)

mbed平台是基于面向对象的c++语言实现的,serial_api是serial类的底层实现(c语言文件)。有些同学可能想在C工程中直接使用serial_api模块(本人就是其中之一,也这么做了,的确比直接调用hal抽象库要好用一些),可惜的是直接将其用在工程中很明显是不行的,至少中断的实现策略就过不去。但是又想用,那么这么办呢?很好办,自己动手修改serial_api及其相关的底层关联c文件(官

2016-08-20 10:22:34 1757

原创 C语言字符串转int整数的实现源代码

第一个函数:把一个字符串转换为16进制整数,源代码如下#include    /* c标准库 */#include   /* c标准库 */int ascii_atox(const char *s){char xdigs[] = "0123456789ABCDEF";long sum;/* 跳过空格 */while(isspace(*s))

2016-08-03 17:02:28 818

原创 基于STM32 HAL库的flash emulation eeprom

本文讨论如何使用flash模拟eeprom(基于STM32 HAL库),本例使用的MCU是STM32F103TB。IDE平台:IAR EWARM7.60用到的资源:STM32Cube_FW_F1_V1.4.0库,emulation_ee.c/h,app_eeprom.c/h,main.c;emulation_ee模块封装了flash模拟eeprom的所有细节,提供了3个用户API,该模

2016-08-03 10:00:10 12853 2

原创 如何使用IAR EWARM IDE的Use Custom Keyword的选项

讨论如何使用IAR EWARM的自定义关键字选项的配置,并为其着上自己最爱的颜色,一步一图,简单易学,其实IAR EWAME很强大,也很简单。

2016-07-27 09:57:02 1495

c语言接口与实现

c语言接口与实现

2016-10-09

mbed lib库

mbed lib官方完整库

2016-08-20

模拟EEPROM

基于STM32 标准外设库的 FLASH 模拟EEPROM源代码

2016-08-03

STM32 FLASH模拟EEPROM

基于STM32 HAL库的 flash 模拟 EEPROM 实例,工程使用IAR EWARM7.60平台编译,如果使用低版本的IAR 平台打开可能会有警告提示,实例来自真实项目的一个温度控制子系统,mcu使用了stm32f103tb。

2016-08-03

AD7767-2传感器AD采集程序

基于STM32405的AD7767-2传感器AD采集程序,开发环境EWARM7.6,用STM32CUBE生成初始化代码。代码经过测试,跑了2天没发现什么问题,现在已集成到传感器工程中。

2016-07-06

SAM-BA2.12及jlink-v8.bin

SAM-BA2.12支持win7 64位

2016-03-02

JLINK-V8 SWJ三线下载及掉固件解决方法

一步一图的详细介绍了固件修复和SWJ三线下载的解决步骤,pdf文件中含有修复固件的SAM-BA2.12及jlink-v8.bin文件,请放心下载!

2016-03-02

空空如也

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

TA关注的人

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