STM32之lib库建立

1. 测试环境:STM32C8T6

2. 测试接口:

3.串口使用串口一,波特率9600

单片机引脚------------CH340引脚

VCC--------------------VCC

GND-------------------GND

PA9--------------------RXD

PA10-------------------TXD

1.  建立lib库原因:LIB 的一个主要用途,就是用在工作上的,当你某些 C 文件不希望让别人看到源代码,但 又必须给别人使用的时候,把你这些机密的 C 文件编译成 LIB 是一个最好的方式.

2.  在009程序上修改,并为011_STM32开机管理次数做基础

3.  开始修改程序

4.  将程序复制成两份,一份用来制作lib库,另一个用来进行测试

5.  将需要做成lib库的工程全部删除文件,只保留需要做成lib库的文件

6.  生成库,编译

7.  编译之后会有一个文件出来,后缀是.lib的

8.  将STM32.lib文件复制到测试工程中去

9.  打开测试工程,编译

10.在工程中删除stmflash.c和stmflash.h文件

11.将STM32.lib文件添加进去,编译

12.去掉头文件就能够解决错误了,但是还有一个警告,隐式声明问题

13.将声明的函数进行外部声明就好了,使用到的函数都加个外部声明给他,就不会有警告了

14.得到的结果和009内部flash一样的结果,但是stmflash已经生成lib库了

15.为下一篇开机启动次数打下基础

16.结束

1.     疑惑QQ:3045136580

2.     假如以下视频播放不了,可以到腾讯《STM32移植系列》专辑中查找相对应的

3.     腾讯个人主页:

http://v.qq.com/vplus/ffb274f0adf3a4d4374b388a03b2358f/folders

4.     资料下载地址:https://download.csdn.net/download/xiaoguoge11/10636019

5. 本教程地址:https://v.qq.com/x/page/t0771upo3ux.html

5.       版权所有,仅供学习参考

公众号

010_STM32程序移植之_lib库建立的更多相关文章

  1. 011_STM32程序移植之_内部flash开机次数管理

    011_STM32程序移植之_内部flash开机次数管理 1. 测试环境:STM32C8T6 2. 测试接口: 3. 串口使用串口一,波特率9600 单片机引脚------------CH340引脚 ...

  2. 012_STM32程序移植之_内部flash开机次数管理lib库建立

    012_STM32程序移植之_内部flash开机次数管理lib库建立 1. 测试环境:STM32C8T6 2. 测试接口: 3. 串口使用串口一,波特率9600 单片机引脚------------CH ...

  3. 嵌入式linux应用程序移植方法总结

    嵌入式linux应用程序移植方法总结 前段时间一直在做openCapwap的移植和调试工作,现在工作已接近尾声,编写本文档对前段工作进行一个总结,分享下openCapwap移植过程中的经验和感悟.江浩 ...

  4. linux第三方程序移植

    摘要:在linux开发过程中经常需要用到第三方的程序,有时需要用到它们的库,有时需要它们生成的可执行文件,如何正确地编译这些第三方的程序,以方便地使用和开发自己需要的程序,将是本文要论述的内容. 1. ...

  5. [置顶] android利用jni调用第三方库——第二篇——编写库android程序直接调用第三方库libhello.so

    0:前言 1:本文主要作为丙方android公司的身份来写 2:作者有不对的地方,请指出,谢谢 [第一篇:android利用jni调用第三方库——编写库libhello.so] [第二篇:androi ...

  6. Civil 3D 2017本地化中VBA程序移植到2018版中

    中国本地化包简直就是一块鸡肋, 但对于某些朋友来说还真离不了: 可惜中国本地化包的推出一直滞后, 在最新版软件出来后1年多, 本地化还不一定能够出来, 即使出来了, 也只能是购买了速博服务的用户才能得 ...

  7. Linux程序编译链接动态库版本号的问题

    不同版本号的动态库可能会不兼容,假设程序在编译时指定动态库是某个低版本号.执行是用的一个高版本号,可能会导致无法执行. Linux上对动态库的命名採用libxxx.so.a.b.c的格式.当中a代表大 ...

  8. Linux64位程序移植

    1 概述 Linux下的程序大多充当服务器的角色,在这种情况下,随着负载量和功能的增加,服务器所使用内存必然也随之增加,然而32位系统固有的4GB虚拟地址空间限制,在如今已是非常突出的问题了:另一个需 ...

  9. 第一章 “我要点爆”微信小程序云开发之项目建立与我的页面功能实现

    第一章 “我要点爆”微信小程序云开发之项目建立与我的页面功能实现 开发环境搭建 使用自己的AppID新建小程序项目,后端服务选择小程序·云开发,点击新建,完成项目新建. 新建成功后跳转到开发者工具界面 ...

随机推荐

  1. laravle6.0-IOC-DI浅谈

    1.什么是IOC,DI IOC(Inversion of Control)控制反转:ioc意味着,你将自己设计好的对象交给容器来控制,而不是传统的在你的对象内部直接控制.比如: 人 操控 手机 做一些 ...

  2. selenium cookie 登录

    前言 爬虫方向的小伙伴们都知道网页爬虫经常遇到的问题就是登录账户,有些简单的网站我们可以简单的send key来输入账户密码就可以登录,但是有很多网站需要验证码之类的就不太好用了,这时候就体现到了co ...

  3. ASP.NET Core分布式项目-3.oauth2与open id connect 对比

    oauth2 open id connect

  4. (三)Redis之数据结构概念以及数据结构之字符串

    一.数据结构 五种数据类型: 字符串(String) 字符串列表(list) 有序字符串集合(sorted set) 哈希(hash) 字符串集合(set) 二.数据结构之字符串 二进制安全的,存入和 ...

  5. (一)Redis之简介和windows下安装radis

    一.简介 1.1 关于nosql 介绍Redis之前,先了解下NoSQL (Not noly SQL)不仅仅是SQL, 属于非关系型数据库:Redis就属于非关系型数据库, 传统的Mysql ,ora ...

  6. Python考试_第三次

    - python 全栈11期月考题 一 基础知识:(70分) 1.文件操作有哪些模式?请简述各模式的作用(2分) 2.详细说明tuple.list.dict的用法,以及它们的特点(3分) 3.解释生成 ...

  7. ElasticSearch创建动态索引

    ElasticSearch创建动态索引 需求:某实例需要按照月份来维护,所以之前的“写死”索引的方式当然不行了.通过百度和看SpringDataElasticSearch官方文档,最后解决了这个问题. ...

  8. VBA常量(八)

    常量是一个命名的内存位置,用于保存脚本执行期间固定(无法更改)的值.如果用户试图更改常量值,则脚本执行结束时会出现错误.常量声明与声明变量相同. 以下是命名常量的规则 - 常量名称必须使用一个字母作为 ...

  9. Vscode ftp

    sftp的插件,作者是liximomo 安装插件: 在Vscode的商店中搜索sftp扩展 配置: 一般在开发项目时,总是有多个项目在同时开发.如果要为单一的项目配置的话,就需要打开此项目,快捷键ct ...

  10. Linux命令——w、who、whoami、lastlog、last

    参考:Linux w Command Tutorial for Beginners (5 Examples) Linux who Command Tutorial for Beginners (8 E ...