从头调试stm32 HID】的更多相关文章

目录: 第1部分:参照“正点原子USB虚拟串口工程移植步骤”移植ST的USB HID工程(失败了): 第2部分:在1的基础上,替换USB HID初始化代码为ST 例程中的代码,编译后根据报错调试(失败了): 第3部分:直接移植ST的USB HID工程,根据报错调试代码(成功了).       小孙想要总结这一年来学到的关于stm32的USB相关知识,但又不知道怎么总结,于是决定 从头开始调试固件库代码,直到实现USB功能为止!     首先准备参照正点原子<第88讲 USB虚拟串口实验-M3>…
使用Eclipse+JLINK调试STM32 安装eclipse + CDT. 安装交叉编译工具(工具链ARM CROSS GCC--GUN ARM http://gnuarmeclipse.sourceforge.net/updates ,之后安装器件库,自动下载安装较慢,可获取下载地址后使用下载工具(迅雷速度还不错)下载,放在eclipse的下载路径下手动安装)和make 工具(gcc-arm-none-eabi-6-2017-q2-update-win32.exe) STM32F4官方固件…
使用 VSCode 开发调试 STM32 单片机尝试 本文记录基于 Windows + DAP-Link 开发 STM32F103C8T6 的实践过程,其他操作系统或芯片应该也只是大同小异的问题. 注意:工作空间中千万不要出现中文目录和空格! 环境准备 软件 VSCode插件 新建 makefile 工程 添加软件包 创建工程 生成工程 VSCode_写代码和编译 编译和下载 vscode的配置文件 Github项目--VS-Code-STM32-IDE 环境准备 使用方法 自定义配置文件 Ta…
stm32自带usb接口,非常适合做hid设备,免驱开发也很方便. 使用stm32通过正确的报告描述符配置后,插入usb,电脑正确识别如下(设备和打印机) 可以通过右键,游戏控制器设置 通过选择属性 然后点击属性 本测试测试做了一个简单的测试,通过命令控制 位置坐标(绝对位置坐标) 顺序移动,测试按键依次被按下…
近两年,微软越来越拥抱开源支持跨平台,win10搭载Linux子系统,开源VSCode作为跨平台编辑器,VS2017官方支持了Linux和嵌入式开发功能. ST也是,近两年开发的软件工具基本都是跨平台(基于Java)的,比如STM32CubeMX,MCUFinder,STM32CubeProgrammer等.17年年底收购了truestudio的开发公司-Atollic.这个公司的IDE就是基于Eclipse使用GNU套装的. 官方都支持了,那我们有必要了解一下.要是好用,说不定就可以淘汰老旧的…
/* USB Standard Device Descriptor */ const uint8_t Joystick_DeviceDescriptor[JOYSTICK_SIZ_DEVICE_DESC] = { 0x12, /*bLength */ USB_DEVICE_DESCRIPTOR_TYPE, /*bDescriptorType*/ 0x00, /*bcdUSB */ 0x02, 0x00, /*bDeviceClass*/ 0x00, /*bDeviceSubClass*/ 0x0…
1. 仿真的时候,进入之后 2. 说是main()未定义,可是明明定义了,什么原因?喔,看错了,是--main.对比了一下和正常工厂的配置,都一样,换个jlink V9测试一下吧.换了个ST LINK V2 也不行,看样子是工程的问题喽?屏蔽了一些main()函数的一些代码,发现可以执行到main()了!!!奇哉怪也,难道后面的代码写错了,导致不能仿真到main()??? 3. 最后测试发现,原来是多了一个printf函数,keil MDKb编译的时候没有报错,去掉这行函数解决问题…
很多人都碰到过调试器不能连接到STM32的问题,不管是IAR的J-Link还是Keil的ULink,或者是ST的ST-Link.出现这个问题时,调试软件会提示不能建立与Cortex-M3的连接,或提示不能下载程序,或提示找不到要调试的设备等.       这样的问题都是发生在调试那些可以在CPU不干预的时候自动运行的模块.或在调试低功耗模式的程序的时候.所谓“可以在CPU不干预的时候自动运行的模块”包括:DMA.定时器.连续转换模式下的ADC.看门狗等模块. ------------------…
  前期准备: 一.硬件资源:STM32F103,USB-FS固件库. 链接: STM32 之 标准外设版USB驱动库详解(架构+文件+函数+使用说明+示例程序) https://blog.csdn.net/ZCShouCSDN/article/details/78936456?utm_source=blogxgwz1 二.调试软件:usbtrace3.0或者BusHound,用于看USB设备的信息.KEIL编译环境-用于开发. 后续相关工作: (1)用STM32CubeMX配置,具体实现其它的…
史上最全USB HID开发资料 史上最全USB HID开发资料,悉心整理一个月,亲自测试. 涉及STM32 C51 8051F例子都有源码,VC上位机例子以及源码,USB协议,HID协议,USB抓包工具,开发文档,开发过程文档. 有了这个资料包,你再说开发不了USB HID,打死我都不信!好资料当然一分都不能少!  内容截图:   内容简介:  STM32_USB_Demo例子:USB虚拟串口.HID.游戏手柄.USB音频传输等demo源码. STM32_USB_HID_PC_demo:USB…
出处:http://www.douban.com/note/248637026/ ----------------------------------------------------------------------------------------------- 作者:prife感谢:hexlog@gmail.com--------------------------------------------------------------------------------------…
/** ****************************************************************************** * @author    Maoxiao Hu * @version   V1.0.0 * @date       May-2015 ****************************************************************************** * < COPYRIGHT 2015 IS…
keil中串口的虚拟调试信息在通过View-serial windows-#usart1/2/3/4/debug(printf)可以看到.当然也可以通过虚拟串口VSPD+串口调试助手在外部实现,方法如下: 虚拟 串口使用:步骤 1 下载虚拟串口软件,虚拟2个连接的串口COMA/COMB,这两个串口与PC机的真实物理串口没关系.两边的设置相同 2 打开串口通讯助手,将A分配给串口通讯助手,则B就分配给下面的COMx 2 在MDK中输入命令行或者将下面的做成debug.ini文件加载 MODE CO…
本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重!       在上三篇文章中,我们基本搭建好了开发STM32的IDE环境,当然vim.ctags.taglist.winmanager的命令和用法太多,不可能全部列出,在这里只是给大家提供一种思路和方法,具体扩展功能参考相关插件的帮助文档就可以获得,当然选择自己最最常用的几个命令,操作熟练了,就足以进行开发调试了.今天这篇文章我们使用gdb进行STM32调试. (四)gdb调试STM32程序     我…
目录 一.概述 1.目的 2.开发环境描述 3.Eclipse构建的STM32集成开发环境结构 4.GDB / GDB Server 调试模型 二.搭建步骤 三.详细的搭建过程 1.安装eclipse IDE for C/C++ developers 2.安装交叉编译链arm-none-eabi-gcc 3.安装JLink驱动 4.安装GNU ARM Eclipse插件包 5.新建一个LED_Test工程并配置.编译 四.使用C/C++ GDB HardWare Debugging进行硬件调试…
版权声明:本文为博主原创文章,未经博主允许不得转载. 1.下载eclipse需要的运行环境,JDK/JRE. 在http://wiki.eclipse.org/Eclipse/Installation中,找到最新的eclipse版本需要的Java 版本,然后去相应网站下载JAVA.这里我用的是Eclipse 4.5(Mars),它需要JAVA 7. 2.下载eclipse 在eclipse的官网下载 Eclipse IDE for C/C++ Developers 3.下载bleeding-ed…
今天在用MDK调试stm32时出现了无法进入main函数,进入startup文件的情况. 在网上查找资料时发现,MDK调试设置断点最多只能设置5个.在减少断点后,调试果然能够正常进入main()函数了.…
最近在调试STM32 Cortex-M3 HardFault异常,以外发现程序居然进入了NMI异常.对于这种异常,从来没有出现过,如下图所示. 此时的R0等寄存器的值如下图所示, 堆栈指针是0x2000 74F4,以此推断程序跑飞的地方,向后或者向前都不对,不是R0等8个寄存器的值. 这样无法找到出错的指令在何处了,后来跟踪调试程序,找到了出错的地方,如下图所示,在0x0801 98CC处,有一条跳转指令BLX   R9,此时的R9的值是0x0800 0135,而这个地址对应的就是NMI中断处,…
在用MDK调试STM32板子串口时,为了方便串口调试,调用了printf()函数,用Keil仿真是,串口不能正确的输出,软件仿真时,总是卡在那 里.有点纳闷,然后调用USART_SendData()函数,发现串口可以接收到正确的数据,证明串口配置没有问题,问题应该是出在printf()函 数上,参照ST公司的printf例子也不能在串口输出数据.由此可知应该是软件配置的原因.后面,百度,再AVR论坛上找到了答案. 如果使用的是MDK,请在工程属性的“Target“->”Code Generati…
在调试stm32的程序的时候遇到这样一个问题. 用Keil往stm32里写入程序时出现无法访问内存的错误.情况如下 然后 J-link没有提示异常.偶尔可以下载成功,但是程序无法正确的执行. 经过一番摸索发现,由于开发板线路的连接在5v,arm开发板可能无法正确的工作.只需将电源切换到3.3v即可顺利的下载进程序.…
最近调试STM32的串口接收时发现例程中只能接收一个字节 例程如下: //初始化串口1 void uart_init(u32 bound){ //GPIO端口设置 GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Pe…
STM32单片机应用与全案例实践pdf https://pan.baidu.com/s/16WrivuLcHvLTwS__Zcwl6Q 4rj3 stm32自学笔记 第二版 pdf https://pan.baidu.com/share/init?surl=hsjGIXm 6k5u stm32自学笔记第一版pdf http://js.xiazaicc.com/down1/stm32zxbj_downcc.zip http://www.downcc.com/soft/317742.html 第1章…
在研究STM32串口接收发送中断的时候找到不少不错的资料,现在备份在这里.以供自己查阅,以及方便其他人. TC ====TXE 顺便预告下最近会写个有关串口处理数据的帖子,从查询和中断方面以及数据处理的方式,从队列以及FIFO方面写起. SECTION 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 /* 调试STM32串口过程中发现一个奇怪的问题,…
最近一段时间调试STM32板子的时候,都是用JLINK+杜邦线,或者拿官方板子当STLINK用,可以用,但是体积比较大,有时候觉得比较麻烦.正好前一阵手头项目少,就想DIY一个STLINK. 图是网上找的,由于现在还没有验证完,暂时就不上图了. 打了10块板子,最后收到好像是11块,110个小板,顺便学了一下怎么V-CUT出板子.10cm*10cm以内,一般都是特价板,80块包邮. 电阻.电容的封装都是0603的,手焊的话,比0805封装的稍微难一点.刚开始焊了一块,试了试,可以下载程序,还没有…
1.ST官方正式出版了两种仿真器:ST-LINK.ST-LINK/V2,其他型号(ST-LINK II,ST-LINK III,…)要么是国内公司生产,要么是开发板自带的:2.在ST官网ST-LINK的状态为NRND(not recommended for new designs),官方已经不建议在新产品设计中使用该产品:3.ST-LINK/V2是官方最新主推的STM8.STM32仿真器,内部电路.接口保护均作了改进: 还有一个支持隔离的ST-LINK/V2版本,order code是ST-Li…
https://blog.csdn.net/miracle_8/article/details/78347172 摘要: JVM性能调优涉及到方方面面的取舍,往往是牵一发而动全身,需要全盘考虑各方面的影响,那么如何进行一次优雅的调优,提升应用的性能? 这是jvm优化系列第三篇: jvm优化——垃圾回收 jvm优化——监控工具 JVM性能调优涉及到方方面面的取舍,往往是牵一发而动全身,需要全盘考虑各方面的影响.但也有一些基础的理论和原则,理解这些理论并遵循这些原则会让你的性能调优任务将会更加轻松.…
2018-2019 Exp2 后门原理与实践 目录 一.实验内容说明及基础问题回答 二.工具准备 查看WindowsIP和LinuxIP Windows获得Linuxshell Linux 获得Windows shell 使用nc传输数据 三.实验过程 使用netcat获取主机操作Shell,cron启动 使用socat获取主机操作Shell, 任务计划启动 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell 使用MSF m…
JVM性能调优涉及到方方面面的取舍,往往是牵一发而动全身,需要全盘考虑各方面的影响.但也有一些基础的理论和原则,理解这些理论并遵循这些原则会让你的性能调优任务将会更加轻松.为了更好的理解本篇所介绍的内容.你需要已经了解和遵循以下内容: 1.已了解jvm 垃圾收集器 2.已了解jvm 性能监控常用工具 3.能够读懂gc日志 4.确信不为了调优而调优,jvm调优不能解决一切性能问题 如果对这些不了解不建议读本篇文章. 本篇文章基于jvm性能调优,结合jvm的各项参数对应用程序调优,主要内容有以下几个…
使用matlab绘制从KEIL memory导出的内存数据 如标题,某些时候我们需要分析keil调试过程中的数据,比如从I2S.SPI.I2C或者UART获取到的波形数据,这些数据时数字流,通过逻辑分析仪是没有办法直观的观察其波形,因此,我们需要把数据导出来,通过合适的工具使数据可视化,比如一些规律的波形图. 下面我将提供一种方法供参考 高潮来了 第一步:导出数据到本地 KEIL通过ULINK调试STM32时,我们可以通过keil的memory窗口定位到某一数组的内容,但是数字化的内容没有办法分…
前面我们学习了整个JVM系列,最终目标的不仅仅是了解JVM的基础知识,也是为了进行JVM性能调优做准备.这篇文章带领大家学习JVM性能调优的知识. 性能调优 性能调优包含多个层次,比如:架构调优.代码调优.JVM调优.数据库调优.操作系统调优等. 架构调优和代码调优是JVM调优的基础,其中架构调优是对系统影响最大的. 性能调优基本上按照以下步骤进行:明确优化目标.发现性能瓶颈.性能调优.通过监控及数据统计工具获得数据.确认是否达到目标. 何时进行JVM调优 遇到以下情况,就需要考虑进行JVM调优…