自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 ST USB Host库USBH_HandleEnum()的一个bug

USBH_HandleEnum()里定义了一个64字节的局部数组,并在获取厂商描述符、产品描述符和序列号的时候使用,使用时允许超过64字节,导致了bug。

2022-05-09 09:28:58 486

原创 【RTT实现printf重定向——Keil5】

RTT实现printf重定向——Keil5

2022-03-31 17:10:54 2412 4

原创 DAVE用户手册-Getting Started 21

21.DAVE Preferences文档DAVE Preferences用于修改DAVE操作的设置。要修改任何preference,先打开preference窗口。图1:打开preference窗口这个窗口包含了Eclipse平台提供的很多功能的preference。要访问DAVE preference,点击DAVE CE Preferences图2:DAVE preference该页面包括解析器配置、resource管理器和在线帮助。解析器配置解析器的如下preference可以修改

2021-10-14 15:18:25 348

原创 DAVE用户手册-Getting Started 20

20.数据校验工程的APP配置可以像下面那样校验。图1:APP配置校验菜单如果配置数据有任何问题,会出现如下报告。当创建含有数据校验的APP时,也会出现同样的报告。在Problem面板中也能看到这些报告信息。图2:校验问题对话框和Problem面板。要修复问题,双击Project validation issues对话框或Problem面板中的问题,就会打开APP配置编辑器。...

2021-10-14 14:37:47 193

原创 DAVE用户手册-Getting Started 19

19.对模板的调试代码生成的模板也可以被调试,如下。默认情况下调试按钮是禁用的。图1:禁用调试从DAVE菜单中使能模板调试。图2:使能模板调试现在工具栏上的调试按钮被激活。打开模板文件,通过双击或上下文菜单放置断点。图3:增加调试断点点击工具栏上的调试图标进行视图切换。点击Yes切换到调试视图。图4:打开调试视图鼠标悬停在变量上,可以观察变量的值。图5:调试值调试结束后,禁能模板调试。图6:禁能模板调试...

2021-10-14 14:01:18 224

原创 DAVE用户手册-Getting Started 18

18.Change Required APP Instance本章主要讲Change Required APP Instance菜单项。图1:Change Required APP Instance下面会用一个例子讲解Change Required APP Instance的概念和作用。看下图:图2:Change Required APP Instance一个CCU4外设包括4个独立的CC4片和一些全局寄存器。一个PWM APP实例会使用1个CC4片。这意味着4个PWM APP实例就能耗尽CC

2021-10-14 09:27:23 253

原创 DAVE用户手册-Getting Started 17

17.寻求帮助文档DAVE APP的文档相当详尽。如果你希望快速获取APP的细节,可以按如下步骤:图1:APP帮助文档用户论坛和工单系统本用户手册已经包括了使用DAVE所需了解的一切。在你继续使用DAVE开发应用的过程中,你可能会遇到概念/特性方面的问题,甚至是一个诡异的难题,需要向原厂报告。英飞凌为此创立了一个论坛,你的问题都会由社区专家解答。这里有一个工单系统,供你记录问题以及追踪进展。图2:帮助菜单英飞凌感谢您支持DAVE,并衷心祝您开发顺利!...

2021-10-13 17:17:09 247

原创 DAVE用户手册-Getting Started 16

16.设备切换设备切换DAVE允许把DAVE CE工程中使用的设备切换到同系列另一款设备中。一般是由于工程建立初期选了一款片内Flash资源多的芯片,到了后期发现可以切换到Flash小一些的芯片去。DAVE只支持同系列间芯片的切换。例如,如果你的工程初期选用了XMC1100芯片,你不能把工程切换到XMC1系列芯片,例如XMC12或XMC13。你只能切换到同属于XMC1100系列的其他芯片去。切换过程按下图开始切换图1:开始芯片切换然后,选择你要切换的同系列另一款芯片,开始切换。图2:

2021-10-13 15:00:04 389

原创 DAVE用户手册-Getting Started 15

15.保持DAVE更新为提升用户体验,英飞凌以eclipse更新的方式定期发布各个组件的更新。典型的更新包括:DAVE更新和代码引擎调试器各个APP各驱动库设备描述(MCU的软件模型)自动更新电脑打开DAVE后,只要以太网连接正常,DAVE会自动扫描预存的地址,在征得您的同意后下载和安装更新。您无需劳神。你的工程中已经使用的APP和库不会自动更新。一个极端的例子是:你现有的工程使用较老的APP,而新建的工程却使用新的APP。要想更新现有工程中的APP,需要使用APP Migrati

2021-10-12 11:35:09 574

原创 DAVE使用手册-Getting Started 14

14.调整编译工具链设置代码尺寸DAVE允许你调整编译器的代码优化等级。为修改编译器设置,点击下图中的图标图1:打开工具链设置页面展现的是工具链设置页面。点击一个属性,按你的需求修改设置。特别要设置的是优化等级,按下图选择优化特性。图2:修改编译器优化等级默认情况下,链接器只链接应用中使用的对象。例如,编译了UART和CCU4的API,但是你的应用只使用了CCU4,那么UART的API不会被链接到最终的二进制文件中。其他设置DAVE允许你对工具链做的有趣、有用的事情还有:

2021-10-12 10:10:32 1354

原创 DAVE用户手册-Getting Started 13

13.导出和导入工程在DAVE用户中交换工程你工作空间里的工程可以导出给别的合作者使用,你导出,合作者导入。导出工程创建一个文件夹,用于放置导出的工程(例如c:\DAVE4_Projects\Projects_To_Export)。File——Export图1:导出工程设置导出类型图2:设置导出类型选择要导出的工程,点Finish。图3:导出选中的工程查看文件夹,确认工程已被导出。图4:导出的工程导入导出应该使用相同版本的DAVE。不同版本的DAVE可

2021-10-12 09:07:35 664

原创 DAVE用户手册-Getting Started 12

12.应用的初始化顺序MCU复位后,执行BootROM里的代码,然后,MCU的控制权移交到应用的复位向量。Startup文件夹包含了启动文件。应用的复位向量加载代码,最后把控制权移交到main.c里的main()。在main()中,你才能开始调用APP提供的数据结构和API完成你的应用。Simple Main Project这种类型的工程在main()中有一个while(1)循环。DAVE CE Project这类工程提供的样板main()首先调用一个名为DAVE_Init()的系统级别的初

2021-10-11 17:09:02 198

原创 DAVE用户手册-Getting Started 11

11.DAVE APP实例与配置数据结构APP实例概念依然以一张简单的图开始。图1:简单的应用在图1的应用中,MCU的UART通道X和Y分别连接两台PC。MCU周期性的向2台PC发数据。用到的APP是UART。但是有一个问题! UART APP只有1个发送通道,但是在这个应用中需要配置2个!救场的是APP实例的概念。在面向对象语言例如C++中,一个类可以定义多个对象。对于定义好的对象,只为类数据分配内存,而类方法只定义1次。DAVE APP使用相同的概念。APP好比类。在工程中,一个APP

2021-10-09 17:53:51 488

原创 DAVE用户手册-Getting Started 10

10.在封装视图中分配引脚基于空间限制,有时需要预定一些引脚。典型的情况是,你的板子有一个IO连接器,你需要把离它最近的引脚连上去。从芯片参考手册中,你可以找到符合的IO,但是你要读数据手册才能知道这些IO引脚的位置。DAVE的Pin Mapping视图帮你省了这些麻烦。例如,你的工程有一个APP要把UART的TX连接到一个IO引脚,该视图会显示出哪些IO引脚具有UART TX功能。点击图标,唤起Pin Mapping视图。图1:唤起Pin Mapping视图打开该视图后,你工程中所有APP使用

2021-10-08 17:29:19 265

原创 DAVE用户手册-Getting Started 9

9.让DAVE修改解决方案当DAVE解析器提供了一个解决方案时,你肯定希望DAVE能给你一些选择。为了更好的理解这个概念,看下图:图1:举个例子在上图中,一个UART通道的Transmit连接到一个输出口Pad。从XMC4500的参考手册中,可以看到有几种选择:USIC0-CH0 -> P1.2USIC0-CH0 -> P1.3USIC0-CH1 -> P2.5USIC1-CH1 -> P3.14还有其他更多的选择。DAVE会从中自由选择1个,但是你也可以指

2021-10-07 23:31:22 671

原创 DAVE用户手册-Getting Started 8

8.你的应用中使用的资源我们从前几章了解到了APP使用的资源类型,APP并不使用物理资源。APP总是使用虚拟资源。你肯定要问了:什么时候给应用指定物理资源呢?这些物理资源都是啥呢?资源管理APP被加入工程、被配置过之后,就要生成代码了。对每个MCU,英飞凌都提供了一个软件模型,来描述所有的物理资源及其之间的连接。当你要求生成代码时,DAVE会:取一个列表,里面有所使用的APP的所有虚拟资源及其之间的信号连接将该列表输出给一个资源管理器:解析器解析器随后通过查阅软件模型来查找一个解决

2021-10-06 16:13:25 263

原创 DAVE用户手册-Getting Started 7

7.DAVE APP剖析使用DAVE APP完成一个应用,还调试了一把,现在可以揭开盖子看看APP的组成了。一个DAVE APP:向用户提供API被内部连接在一起的硬件资源为中心环绕自行完成用例或者,成为APP层级的一部分。DAVE APP图例图1:一个APP的剖面图构建一个应用图2:DAVE APP的堆叠在上图中,BLDC马达控制APP聚合了2种硬件资源,一种用于位置检测,另一种用于inverter switches所需的PWM生成。它需要追踪实时马达数据,传送给一个分析工具

2021-10-06 10:28:21 623

原创 DAVE用户手册-Getting Started 6

6.下载和调试我们使用DAVE APP成功地创建了一个应用,还生成了二进制文件。现在把二进制文件擦写到flash中并调试。你的DAVE安装时包含了GDB调试器和一个GDB服务器,有这2个就足够了。大部分英飞凌XMC评估板都支持基于FTDI的GDB客户端。因此,只需要准备一根Micro USB线,连接电脑与目标板。要开始擦写,先要创建一个debug配置。先启动调试器。图1:启动调试器接下来,创建一个debug配置。图2:创建一个debug配置然后,启动调试器。图3:启动一个debug

2021-10-05 06:27:01 883

原创 DAVE用户手册-Getting Started 5

5.使用DAVE APP完成你的第一个应用让我们应用前几章学到的东西,完成一个简单应用。要完成的应用设想一个简单的应用:产生一个固定频率的PWM信号在PWM周期结束触发的ISR中翻转一个LED图形化之,如下:图1:要完成的应用需要使用的外设是CCU4(用于定时器功能)、2个IO引脚(一个用于PWM输出,另一个用于翻转LED)和NVIC节点(用于中断功能)。本练习的目的是学习使用应用构建模块(DAVE APPs)完成应用。应用构建模块这些外设对应的APP是:PWM APP,用于

2021-10-04 22:30:37 960

原创 DAVE用户手册-Getting Started 4

4. 各个视图和面板创建工程之后,现在来总览一下DAVE提供的各个用户界面及其细节。典型外观图1:典型外观现在快速浏览一下各个面板。在上图中已经对它们做了编号,我们按照编号的顺序依次看看。菜单工具栏大部分菜单项都有对应的快捷键。之前的章节我们已经接触了一些,其余的我们后面会介绍。工程浏览器此面板列出当前工作空间里的所有工程。从中可以看到工程文件结构,也可以通过添加/移除文件和文件夹来改变工程文件结构。通常最近创建的工程就是活跃工程。要激活之前创建的其他工程,只要在该工程上点右键

2021-10-03 21:33:51 840

原创 DAVE用户手册-Getting Started 1~3

DAVE用户手册-Getting Started1.什么是DAVE?你可能是:经验丰富的开发者,在评估一款新的MCU普通工程师,要赶在截止日期前完成复杂的开发任务学生、初学者,正在MCU的世界里蹒跚学步英飞凌的DAVE 4帮助你在XMC工业级MCU上实现快速软件开发。DAVE 4是你的瑞士军刀。DAVE 4是一款先进的IDE,它内置的可配置应用库可以减少你一半的开发时间。不论你的应用有多复杂,你都可以使用DAVE APP构建它。别被术语吓到!本手册会在必要的时候做出解释。DAVE的

2021-10-03 20:31:53 3349 1

原创 LwIP 用串口当网卡

《嵌入式网络那些事——STM32物联实战》第6.1节:“在LwIP运行的目标系统上可能存在多个网络接口,比如可能有多个网卡,也可能有串行网络接口(串口),还可能有环回接口。”这就说明可以用串口作为网卡使用。找到一篇帖子实现了“用串口当网卡”,用到了SLIP协议。...

2020-10-17 15:52:31 1292

翻译 MCUXpresso Using of printf

另一篇参考文档:https://community.nxp.com/docs/DOC-334074MCUXpresso帮助文档中的“Using of printf”默认情况下,借由semihost机制,printf()和puts()的输出会显示在debugger console上。要想让printf()这样工作,就必须在链接过程中把一个"semihost"或“semihost-nf”变种库链接到程序中。注意:如果只要显示固定字符串,则使用puts()即可,它比printf()节约很多代码空间。Re

2020-07-02 21:14:14 1080

原创 讲解的非常仔细,读起来极度舒适的CAN学习笔记

CAN总线学习笔记(1)- CAN基础知识CAN总线学习笔记(2)- CAN协议数据帧与遥控帧CAN总线学习笔记(3)- CAN协议错误帧CAN总线学习笔记(4)- CAN协议过载帧和帧间隔CAN总线学习笔记(5)- CAN通信的位定时与同步...

2020-04-08 16:04:12 630

原创 环形表查找特定字符串

strstr可以用于在一个字符串中搜索另一个字符串,然而不适用于在环形表中搜索字符串。https://blog.csdn.net/zhufuronglovewenzhen/article/details/38326383 的文章介绍了一些在环形表中搜索字符串的代码,但经过测试,发现了1个bug,下面的代码已修改(加粗字体是我添加的代码)/*---------------------------...

2018-11-07 22:45:42 846

原创 AI练手题目

许多书籍的PDF版本是粗陋的扫描图片,文字糊在一起,容易看不清。可以训练AI来辨认这些图片里的文字,生成清爽的PDF版本。

2018-10-11 08:58:13 1408

原创 使用git开发

使用git开发增加功能时应先创建分支,搞定后再用git merge –squash来合并到主干,这样在分支上可以随时提交,而主干上只会看到最终版本,不会看到分支上那些冗余的commit历史。

2018-01-17 13:28:08 135

转载 STM32串口DMA方式接收数据,类似环形FIFO

STM32串口DMA方式接收数据。类似环形FIFO。超省CPU资源! https://www.amobbs.com/thread-5530588-1-1.html (出处: amoBBS 阿莫电子论坛) 留帖,待整理。

2017-11-03 17:55:39 2814

转载 ST最终版本的标准外设库下载地址

ST最终版本的标准外设库下载地址链接:http://www.st.com/en/embedded-so … ia=productId=LN1939

2017-10-18 09:56:28 1335

原创 Keil 5无法设断点

Kei无法设断点可以先参考这个:http://blog.csdn.net/qq_24276421/article/details/52461061 如果还是不行,注意工程选项Debug->Settings->Debug->Download Options里的“Download to Flash”不要勾选。

2017-10-16 14:41:37 15840

转载 【转载】串口通讯数据处理算法分析与实现

转载于:http://blog.163.com/fdy_001/blog/static/12010203320100982731699/关键字:字节流 循环FIFO缓冲区 串口数据处理1,应用背景分析在很多的实际工程应用中,通讯方式通常是RS232、RS485、I2C和SPI等等。这类接口都有一个共同的特点:按照字节流的方式来进行通讯,即每中断一次,表明成功传送或者接收一个字节。还有一些接口传输的

2017-08-04 10:03:19 378

原创 STM8L低功耗

关于STM8L的低功耗、活跃停机、RTC唤醒等等,很多网文已经说的比较全面了。 提醒一下用电池供电时,需要把ST-Link的RST线从板子上拔下来,因为即使ST-Link已经从电脑上拔下来,RST还是能把STM8L钳住。

2017-07-17 17:10:58 655

原创 STM32F0的串口可以禁止溢出检测

在STM32F103中,使能接收中断也就使能了溢出中断,见 http://mp.weixin.qq.com/s/Qq4x0EmC5wc6RXf1JWbm_Q 当发生溢出时,如果不去读一下接收寄存器RDR,将无法清除溢出错误,串口将不能再接收数据。想必ST也知道这是个设计bug,在STM32F0系列中,这个设计bug依然存在,但ST设计了另一个机制来避免这个bug:用户可以在配置串口时禁能溢出检测

2017-07-11 07:49:34 2237 1

原创 STM32F0的UART选择HSI作为时钟源

STM32F0的UART上电不工作时,可以将其时钟源改为HSI试试。在一个无线系统中,使用了一款470MHz LoRa射频模块,使用的CPU为STM32F030,搭建的测试环境为:一块板作为发送机,每秒发送一次,每次10个字节,另一块板作为接收机,总是处于接收状态,每次收到数据就通过串口打印出来。测试时发现,如果发送机上电时给接收机重新上电,则部分接收机的串口就会死掉,此时保持接收机上电,把发送机掉

2017-07-11 07:46:55 2895

转载 IAR工程某些文件字体改不过来

有时修改字体后部分文件的字体没变,这时只要取消勾选Auto-detect character encoding即可。

2016-09-02 10:15:55 2865 1

空空如也

空空如也

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

TA关注的人

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