STM32 V4.0固件库学习(一)环境准备

之前很是惭愧,写了几篇,虽然嘴上说太忙,还是懒病发作,就停了。没有养成好习惯。 还有一个想吐槽下,这个传图片好麻烦啊啊啊 估计之前也是因为这个停了。。。

虽然还是对之前公司的项目非常感兴趣,因为地域缘故,今年来还是换了工作,这边项目还没开始,陆陆续续到现在也有好几个月时间,

也看了很多东西。回头看看,啥记录也没有,也不知道是不是现在年纪大了,感觉啥东西也没记住。看了点啥也不知道了。这次重新下决心,

争取能够每天记录一下。最少也得把这个事情做完,以此勉励自己。

本人之前ARM7 M0 M3 430 CY68013等等也都有接触过,板子也买了一堆,不过原来那边因为各种原因,基本上都是一个人在弄,事情

太多,软件上的一直没有系统的学习。430还算用的最多了,写了一个生产检测治具的代码。其他相当于就是入了个门。这次项目下来,很可能是基于STM32 UCOS系统。重新学习下。争取跟上时代。

虽然STM32已经很久,真的相当于是从0开始。这次一定要完完整整啃下来。

网上现在的资料基本上都是基于STM32官方固件库V3.5的版本。各种视频各种资料。这个是后面才看到的版本。

小白起手就直奔ST官网下来一堆资料,结果发现官方已经更新了固件库,还有配套软件帮助你自动生成代码。但是固件库已经是新版的V1.0 ,姑且称他为V4.0吧。与原来的结构V3.5还是有一定的区别。

各种命名都有了一些变化。为了逼迫自己这次不要再各种参考代码,还是觉得从最新的版本入手。多花一些时间,搞清楚为什么这么写吧。

翻箱很久,找到一块N年前买的基于STM32F107VCT 神州IV号的开发板。就基于这块平台做我的STM32学习吧。

下载器原来的JLINK找不到了,公司有配ulink2,那就用ulink2吧。

背景介绍完毕,下面来讲碰到的第一个心碎的问题,直接搞了半天,那个揪心。。。

问题1.1:开发板连接Ulink2后,只能下载一次程序,第二次就识别不了ULINK2,下载不了程序

为什么这么设置,是因为新手小白没用过ULINK2啊,所以设置是参考ULINK2官方给的帮助文档设置的。结果。。。。

将就解决:将BOOT0的跳线帽从FLASH启动改成从ROM启动,就不会出现上面问题。但是总不能老是这样啊。然后各种查,各种试,各种崩溃

最终解决:把下面红框那个从normail改成under Reset就好了。。。血泪教训啊

那这个到底是什么意思,参考官方文档,如下:

Debug

The Debug section controls caching, downloading, and device resetting options applied each time a debugging session is started.

Connect & Reset Options
control the instructions executed while connecting to
target.

Connect controls the connection conditions.

  • Connect — Normal stops the CPU at the currently executed instruction
    after connecting.
  • Connect — with Pre-reset applies a hardware reset(HW RESET) before
    connecting to the device.
  • Connect — under Reset holds the hardware reset(HW RESET) signal
    active while connecting to the device. Use this option when the user program
    disables the JTAG/SW interface.

Reset after Connect, if enabled, performs a reset operation as defined
in the Reset drop-down list (see below), after connecting to the target.
If disabled, the debugger just stops the CPU at the currently executed
instruction after connecting. Refer also to Start Sequence for details.

Reset controls the RESET operations.

  • Reset — HW RESET performs a hardware reset by asserting the hardware
    reset (HW RESET) signal.
  • Reset — SYSRESETREQ performs a software reset by setting the
    SYSRESETREQ bit. The Cortex-M core and on-chip peripherals are reset.
  • Reset — VECTRESET performs a software reset by setting the VECTRESET
    bit. Only the Cortex-M core is reset. The on-chip peripherals are not affected.
    For some Cortex-M devices, VECTRESET is the only way to reset the core.
    VECTRESET is not supported on Cortex-M0 and Cortex-M1 cores.
  • Reset — Autodetect selects one of the above reset methods based on
    the target device. The SYSRESETREQ method is used if an unknown device is
    detected.

Stop after Bootloader stops the CPU after executing the bootloader
instructions.

看上面的信息,就是Under Reset 与Normal区别就是一个只是停了CPU 一个在按整版的复位键。不知道是不是因为我的神州IV板子设计的缘故。。。

网上也有找到有人跟我碰到一样的问题,如果亲也是什么都试了不行的话,可以改这个看一下。。。

至于为什么。。。我也不知道。。。先Next吧。。。回头理完再来看看。

如果有知道的大牛,还请多多指点。

时间: 2024-10-13 16:48:32

STM32 V4.0固件库学习(一)环境准备的相关文章

STM32Cube_FW_F1_V1.0.0固件库学习(四)外部中断 中

V4.0和V3.5的中断改了挺多,找了很久...小白不容易啊... 在这个函数中有下面这么一段话,具体的配置参数就是最上面宏定义的.可以直接调用HAL_GPIO_Init解决. /*--------------------- EXTI Mode Configuration ------------------------*/ /* Configure the External Interrupt or event for the current IO */ if((GPIO_Init->Mode

STM32Cube_FW_F1_V1.0.0固件库学习(四)外部中断 下

原来V3.5版本调用外部中断如下:

STM32Cube_FW_F4_V1.16.0固件库文件配置

启动文件:STM32Cube_FW_F4_V1.16.0\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f429xx.s 外设寄存器定义文件:STM32Cube_FW_F4_V1.16.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f429xx.h 系统初始化文件:STM32Cube_FW_F4_V1.16.0\Drivers\CMSIS\Device\S

STM32固件库详解

本文转自http://www.cnblogs.com/emouse/archive/2011/11/29/2268441.html 1.1 基于标准外设库的软件开发 1.1.1 STM32标准外设库概述 STM32标准外设库之前的版本也称固件函数库或简称固件库,是一个固件函数包,它由程序.数据结构和宏组成,包括了微控制器所有外设的性能特征.该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一

深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow

深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow 最近在公司做深度学习相关的学习和实验,原来一直在自己的电脑上安装虚拟机跑,速度实在太慢,主机本身性能太弱,独显都没有,物理安装Ubuntu也没多大意义,所以考虑用公司性能最强悍的游戏主机(i7 6700+GTX 1070) 做实验,这台主机平时是用来跑HTC VIVE的,现在归我用了o(*≧▽≦)ツ. 原本以为整个一套安装下来会很顺利,一路火花

在IAR(EWARM)中移植STM32固件库

一.移植环境说明 (1).win10系统 (2).IAR(EWARM)7.7 (3).STM32标准固件库3.5.0 http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32-standard-peripheral-libraries/stsw-stm32054.html 二.移植步骤 (1).首先建立一个C语言的main工

第9章 初识STM32固件库—零死角玩转STM32-F429系列

第9章 ????初识STM32固件库 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege ? 本章参考资料:<STM32F4xx参考手册>.<STM32F4xx规格书>.<Cortex-M3权威指南>, STM32标准库帮助文档:<stm32f4xx_dsp_stdperiph_lib_um.chm>. 在上一章中,我们构建了几个控制GPIO外

第9章 初识STM32固件库

第9章     初识STM32固件库 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:<STM32F4xx参考手册>.<STM32F4xx规格书>.<Cortex-M3权威指南>, STM32标准库帮助文档:<stm32f4xx_dsp_stdperiph_lib_um.chm>. 在上一章中,我们构建了几个控制GPIO外设的

STM32固件库3.5+uCOS2.86移植(转自暴走的工程师)

考了很多移植的资料和代码,终于移植好了...应该是完美移植吧~~哈哈哈~~ 编译环境是IAR 工程适用于STM32F10X大容量产品,如果不是,请自行修改启动文件和工程配置 编译器优化等级最高...这个你们根据需要自己调整吧... ############################################################################### 1.Jean J.Labrosse与μCOS—II μCOS—II是一个实时可剥夺型操作系统内核,该操作系统