背景说明

手头有一个单片机的Lora模块,之前也用来开发了一个DTU和温度采集产品,但是对于单片机开发的整个流程,并没有特别清楚,只是用了官方提供的模块代码,增加了温度采集和modbus数据采集过程,并且增加了一些数据传输,加密解密的过程,主要集中在了代码的修改上。对于开发环境及工程搭建这里,并没有深入研究,所以今天来尝试一下,弄一个干净的编译环境及工程。

开发环境

这里用的软件是IAR ,可以自己去官网下载再注册,也可以下载此处的版本
网盘:提取码s2ro

安装过程就是比较简单了,下一步,继续,继续,……,就完事了
整个过程可以参考
安装过程
注册的过程稍微繁琐一点,不过为了免费,还是要耐心一点。

编译环境

ST芯片厂家为自己的产品提供了一系列的标准库,用来供开发者使用,我们可以在官网下载这个标准库
官网地址
在官网搜索栏搜索STSW-STM8016

能够得到最新的标准库,需要提供邮箱来下载。
下载解压后,我们得到了一个标准库,一个不能直接用的库。因为打开工程会报这样的错误

保存工程的时候会报这样的错误,ewp could not be written

这样的错误 debugger file could not be written

麻了,真是让人难受

最终还是决定自己创建自己的工程。
也不要想着在原来路径下删了工程文件重新创建,还是会有莫名奇妙的问题。

创建工程

代码准备

选择官方下载库里面的关键文件

拷贝到自己的工作目录下,目录名字自己定义,然后再创建一个工程目录,用来存放IAR生成的文件,以及一个src目录,用来存放自己的main.c及单片机的中断文件stm8l15x_it.c,整个目录大致如下
最后就开始在IAR中创建工程

工程创建



然后点击保存,将工程保存在自己的工程目录下。

添加group

然后添加几个group,这个group类似一个虚拟的文件夹。

我添加了lib,src和utils文件夹,分别存放库文件,自己的c文件和补充模块的c文件

导入c文件

右键group,导入c文件,这里我们只导入c文件。最终效果如下。

这里面的main.c和stm8l15x_it.c也是从标准库中的demo中复制过来的,并且这个demo用到了eval的补充模块,所以一并复制过来了。

工程配置

右键工程名—>选项(options)
首先配置自己的芯片型号

然后这里有一些头文件的检索路径,需要添加到工程中,并且增加芯片宏定义。

然后就可以愉快的编译了。

程序下载调试

工程默认是通过模拟器调试的,如果要连接芯片调试,需要用ST-link,连接好芯片的SWIM和RST线,然后配置选项

就可以愉快的进行调试咯。

注意事项

这个配置中的头文件路径,可以用相对路径来配置,例如
上面的路径,可以改为

这样,再复制移动工程之后,可以直接编译,不再受路径影响。

范例下载

本次提供一个串口的demo下载,内含了标准库的最新代码,可以直接编译使用
传送门

结束

最近时间比较多,所以开始整理一下手里做过的东西,单片机也是一块内容,毕竟没有专门做过这块的研发,所以写的内容也都是一些基础的东西,写下来,为了自己以后查看,也为了小同学门不再走弯路。

最近听闻tx某大神自我了断了,很是感到同情,真相怕是很难揭开了。毕竟tx基本垄断了整个民众的通讯交流,并且我们也无法低估资本的能力,无论是生病也好,压力大也好,自我了结怕是最坏的结果了。还是希望我们都能照顾好自己,毕竟头发已经不多了,请快乐多一点吧。
只要世界上还有这么多人口,那么资源永远是不够用的,必然会出现大鱼吃小鱼的结果。
做条咸鱼,有时候也是为了不让别人失去自己。

单片机---STM8开发环境搭建与标准库工程创建相关推荐

  1. boost标准库开发环境搭建boost标准库环境搭建以及简单案例介绍

    1.下载boost相关的库的安装包 网址:http://www.boost.org/ 其中1.55.0版本的下载地址是:http://sourceforge.net/projects/boost/fi ...

  2. PIC32单片机harmony开发环境搭建并新建harmony工程

    软件:maplab x 编译器:xc32 开发框架:harmony 建议安装时选择英文,此处省略上面三个软件安装过程. 安装完毕后,tools -> plugins -> availabl ...

  3. 单片机---HLK-W801开发环境搭建

    总目录 <单片机-HLK-W801开发环境搭建> <单片机-HLK-W801蓝牙BLE功能测试> 最近刷淘宝,偶尔就会刷到一些国产芯片,于是买了一块海凌科的开发板,型号HLK- ...

  4. stm32f4 hal 4位数码管_STM32裸机开发基础篇01开发环境搭建(HAL库)

    前言 众所周知,在32位单片机中,STM32占有重要市场份额,其社区活动频繁,网上相关资料也比较多,无论是学习入门,还是工作使用,都无疑是极好的选择,本节开始,我们将学习如何使用STM32,首先,我们 ...

  5. day01--java基础编程:计算机基础知识 ,java语言概述,java开发环境搭建,eclipse概述,创建简单java项目,JDK JRE JVM的关系,java开发中的命名规范,编程风格

    1 Day01–Java开发环境+HelloWorld 1.1 计算机基础知识 资料下载网址:刘沛霞 18600949004 code.tarena.com.cn tarenacode code_20 ...

  6. 《ESP32-Arduino开发》GUI设计 LVGL 开发环境搭建教程(从工程目录到模拟器)

    前言:最近闲着无聊,看到手头正好有一块tft彩屏,想着拿来玩玩.既然用到了显示屏,自然是离不开ui设计,lvgl是嵌入式一个开源图形库,具备"Light"(轻量)和"Ve ...

  7. HT32合泰单片机开发环境搭建和配置教程

    HT32合泰(Holtek)单片机开发环境搭建安装教程 前言 最近在准备合泰杯的比赛,在看合泰官方的PPT和数据手册学习,顺便做个合泰单片机的开发环境搭建教程. 合泰杯比赛发放的开发板是ESK32-3 ...

  8. 【技术文档】Jeecg-P3开发环境搭建入门(java插件开发框架)

    一.项目工程说明 jeecg-p3-web       | 启动主项目 jeecg-p3-biz-demo | 插件项目     注意:项目为maven工程,采用maven方式导入eclipse等ID ...

  9. stm08S单片机C语言编,STM8S单片机入门1(开发环境搭建)

    STM8S单片机开发环境由三大部分组成,包括PC机上的开发软件(集成开发软件.驱动程序等).调试&编程器ST-LINK.目标单片机电路板.如下图所示: 1.PC机上开发软件 PC机上的软件包括 ...

  10. 单片机(一):VScode+SDCC+Make的Windows下51(CH552)单片开发环境搭建

    CH552芯片是一款兼容 MCS51 指令集的增强型 E8051 内核单片机.CH552既然是51单片机,按照以前的惯例都是用Keil来进行开发.但是本次决定抛弃Keil的开发环境,主要原因是Keil ...

最新文章

  1. java基础-迭代器(Iterator)与增强for循环
  2. android如何添加gif,Android加载Gif和ImageView的通用解决方案:android-gif-drawable(1)...
  3. iOS App开发的那些事儿1:如何建立合适的规范
  4. e2fsck -y 故障_MC2-XWHM-Y
  5. [CQOI 2006]线段树之简单题
  6. C语言试题四十之使字符串中尾部的*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。
  7. Linux学习笔记---使用BusyBox创建根文件系统(三)
  8. Netty工作笔记0063---WebSocket长连接开发2
  9. 零基础如何考过二级建造师?
  10. visual svn 搭建
  11. windows7下的docker的安装及使用(持续更新,未完待续,每天一点点)
  12. CRIO脱机计算机工作,LabVIEW和cRIO入门
  13. 钣金行业精益化生产和管理的必要性
  14. 程序员必看:7个接外包私活网站
  15. Python学习笔记-基础篇
  16. 国产手机后台弹出界面检测方法
  17. 如何设计一个小而美的秒杀系统(抢红包)?
  18. armbian清理_N1盒子armbian/ubuntu/linux系统修改日志输出到内存
  19. React爬坑之路三:Dva
  20. 群晖增量同步Linux文件夹,用自定义脚本实现群晖NAS中本地文件夹之间的增量同步复制...

热门文章

  1. Love Deterrence【MMD动作+镜头下载】
  2. 使用css美化checkbox
  3. 时域、频域与时域分析、频域分析简单理解
  4. 多线程并发测试工具类
  5. 580刷590bios_RX580 2048sp刷vbios降为RX570 用上黑苹果美滋滋
  6. 现代管理学 罗珉 第三版
  7. 从学生到专家,C语言开发必读的8本书
  8. 支付宝口碑收款码(详细解析)
  9. 导纳矩阵 matlab,matlab实现导纳矩阵
  10. MongoDB 数据库导出数据