keil拷贝别人的工程文件不能用

zjut_yanyehe 2014-01-05 11:47:20
我拷贝别人的工程文件,但是编译不通过,在网上查了,下说要添加头库文件,我添加了,但是还是不行,我请教诸位大神,有具体的添加步骤和要注意的事项吗?
...全文
1118 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
华师单车汉 2014-01-06
  • 打赏
  • 举报
回复
你考的是STM32的话 经常确实不能用,你把库独立拿出来放到一个文件间,在工程属性C51选项下包含进去就可以了
woshi_ziyu 2014-01-06
  • 打赏
  • 举报
回复
描述的不够详细 请贴出图片 是哪个工程 会有什么提示 一般工程文件都需要进行配置
zhxianbin 2014-01-06
  • 打赏
  • 举报
回复
贴出错误才好分析。
Binzo 2014-01-06
  • 打赏
  • 举报
回复
别人的环境配置(比如文件位置)跟你不一样,自己看提示配置下。或者跟那个建这个工程的人交流下。
从STM32的keil开发环境移植到IAR开发环境,分为六步走。 首先安装IAR编译环境,这个自行安装。 第一步 新建文件夹 新建一个文件夹命名“LED_CTRL”,在这个文件夹下再建立三个文件夹, CMSISI:放系统启动相关文件 ,FWLIB:放库文件 USER.:放用户自己写的文件 如下图: 第二步 拷贝文件keil下其实也有相对应的文件,我么们考过来就可以了。 下图是keil工程下的文件: 下面我们开始拷贝: 1. 拷贝CMSIS文件 2. 拷贝FWLIB文件 3. 拷贝USER文件 4. 拷贝剩余的其他用户自己写的程序(其实这些文件放哪都可以,根据自己的习惯吧) 拷贝完成如下图: 第三步 新建工程 打开软件 新建工程 点击OK 命名led_temp保存到LED_CTRL下 然后就会得到下面的界面。 第四步 添加分组及文件 开始往工程中添加文件 1. 新建分组:add group 好了,分组完成。 2.添加文件 a.往CMSIS添加文件:system_stm32f10x.c、startup_stm32f10x_md.s CMSIS->add->add files 路径如下: b.往FWLIB添加文件:"stm32f10x_gpio.c" "stm32f10x_rcc.c" "stm32f10x_spi.c" "stm32f10x_usart.c",(这里是因为工程中使用到了一部分的外围,所以需要自己根据工程需求添加) c.往USER中添加: "stm32f10x_it.c" "main.c",另外还有其他的用户自己写的文件led.c、nrf24l01.c、uart.c 。 到此,文件添加完成。 第五步 配置工程 同样选中“led_temp”然后右键,选择Options.就会出现配置界面,如下图 。 a. 选择工程使用的芯片型号,stm32f103c8t6,这里自己根据自己设置哦。 b.Library Configuration的Library要设置为Full,这样才能使用printf(); b. 进入C/C++Compiler,添加文件路径和所需的宏定义。 到此路径添加完成,下面添加宏定义。 不记得的,可以打开芯片的头文件查找即可。 到此,宏定义添加完成。 c. 进入Linker配置链接文件,点击进入,在IAR环境中已经存在,你选择和自己芯片匹配的就好了。 d. 进入Debugger配置,选择自己程序的下载方式。 选择下载到flash 到此,工程配置完成。 第六步 编译工程 同样选中”led_temp”右键-》Rebuild all 弹出文件名设置 同样设置为“led_temp”点击保存。 第六步 解决编译错误问题 弹出好多的错误: 解决办法: 1.core_cm3.h重命名为core_cm3.h.old 再次编译: 出现错误: 解决办法:继续进入工程配置,General Options->Library Configuration:Library 选FULL,右下角选择Use CMSIS 我们会看到,错误已经没有了,但是有很多的警告,如下图 解决办法:startup_stm32f10x_md.s文件中的”SECTION .text:CODE:REORDER”都要改为“SECTION .text:CODE: NOROOT:REORDER” 方法很简单,用Notepad++打开然进行替换即可。 首先,要去掉文件的只读模式,然后在修改。 好了,全部修改完成。保存,并恢复为只读模式,然后再编译工程工程编译结果无错误,无警告,移植到此结束,完美。 。
1.1 课程内容嵌入式软件工程师的学习路线一般是:单片机、RTOS、Linux。当你掌握单片机开发后,如果要进一步提升编程水平,建议学习RTOS(Real Time Operating System,实时操作系统)。有很多优秀的RTOS,比如FreeRTOS、RT-Thread、UCOS等等。FreeRTOS使用范围最广泛,RT-Thread生态丰富,UCOS是收费的并且很少使用了。对于初学者,建议先学习FreeRTOS。只要学会了任意一款RTOS,肯定就会使用其他RTOS了。我们在2022年已经推出了“FreeRTOS快速入门”课程。为何还要重新制作“FreeRTOS入门与工程实践”?“FreeRTOS快速入门”只是讲解FreeRTOS的各类API的理论、用法、示例,这些实验是基于Keil自带的STM32F103模拟器。没有使用更多的硬件模块、不能体现工作中的实际场景。在“FreeRTOS入门与工程实践”,将引入更多的硬件模块,并展示实际工程示例中的用法。另外,基于RTOS的程序一般都比较复杂,涉及的源文件非常多,在工作中一般都基于“面向对象”的思想来写程序。所以,本课程会涉及如下内容:讲解FreeRTOS的常用API:理论、用法选择合适的硬件模块,展示这些API的实例实现合适的小项目,展示工作中的编程方法1.2 讲课方式对于每一个实验,我们会精心设计:要解决什么问题;然后讲解FreeRTOS提供的解决方法。讲解FreeRTOS的API及内部原理(不深入讲解内部源码,只是进行原理性介绍)讲解实验过程使用的模块的接口函数(只讲使用,不讲内部实现,模块的源码实现单独开课讲解)讲解原理时,配合着文档、现场画图进行讲解,跟学校老师写黑板一样最后现场从0编写程序并调试一切都是现场操作,绝对不会照着PPT念,绝对不会照着现成的代码讲解。只有现场从0操作,学员才能身临其境地学习,跟着教程:碰到问题、解决问题。1.3 硬件平台本课程基于DshanMCU-103开发套件进行开发,它由3部分组成:STM32F103C8T6的最小系统板、扩展底板、各类模块。如下图所示:  上述硬件再加一个ST-Link即可学完本课程所有内容。主板DshanMCU-103是基于STM32F103C8T6的最小系统板。之所以选择最小系统板,而不是把所有模块都放在一个整体的电路板上,目的如下:低成本尝试:嵌入式软件开发并不一定适合你,可以购买最小系统板进行体验、及时放弃按需购买:用到再买,讲究一个性价比 

27,374

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧