1518|8

7815

帖子

56

TA的资源

裸片初长成(中级)

楼主
 

想把STM32的库编译成.lib,然后应用代码链接,编译能成功,但是无法运行 [复制链接]

如题

想把STM32的库编译成.lib,然后应用代码链接,编译能成功,但是无法运行——

我曾试过,单步调试,就点亮和灭LED灯是可以的,但运行不行。

 

从头说一下,以免不清楚。

我的意思是

 

固件HAL库,编译成库 .lib

 

 

然后应用代码部分直接链接库编译

 

 

试过把 startup_xx.s 挪到 APP侧。

试了一下,它可以让(软件延时)toggle LED ,灯确实能闪。

但串口没成功打印字符。

 

感觉了一下,这可能和 armcc (5) 的编译、链接,也和STM32的几个文件的编译、链接方式有关,但是,搜了百度,没有搜到有用的

——他们都没有完全、彻底地把 STM32库有关的文件完全抽离出来。

 

也试过IAR,但效果类似。依然不行。

 

尝试看一下ARMCC的文档,然而,可能是英文的关系,但更大的可能是此前对编译器的命令缺乏了解,所以看不懂。

DUI0477E_using_the_fromelf_utility.zip (448.89 KB, 下载次数: 1)
DUI0472E_using_the_arm_compiler.zip (1.74 MB, 下载次数: 2)
DUI0471K_software_development_guide.zip (817.46 KB, 下载次数: 1)

不知道哪位大侠对此有研究,指教一下,谢谢。

此帖出自stm32/stm8论坛

最新回复

你把代码编译成库不能有main部分,你的代码只是作为库存在,单片机程序使用时需要提供H头文件,用不用是在程序中。   详情 回复 发表于 2023-9-8 10:17
点赞 关注
个人签名

强者为尊,弱者,死无葬身之地

 

回复
举报

7087

帖子

11

TA的资源

版主

沙发
 
你反汇编一下呀,最终还是要看机器语言是否正确。
此帖出自stm32/stm8论坛
 
 

回复

1708

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 

编译能成功,确无法运行

感觉很熟悉的问题,又无从下手

是怎么烧写的呢

 

此帖出自stm32/stm8论坛

点评

不分开库的方式,正常运行  详情 回复 发表于 2023-9-8 11:04
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

4
 

编译成库,只是说里面有这个文件。需要主动去调用吧?你把最小需要的文件保留如 .s(寄存器操作的工程),只单独编译hal库看看

此帖出自stm32/stm8论坛

点评

.s我抽出来了,结果是LED和延迟函数正常,但串口还是不行  详情 回复 发表于 2023-9-8 11:06
 
 
 

回复

7275

帖子

2

TA的资源

版主

5
 

编译成lib,应该也只是可以用里面的函数,直接把底层做成lib我还真没试过,只试过把算法做成lib。

此帖出自stm32/stm8论坛
 
 
 

回复

2943

帖子

4

TA的资源

五彩晶圆(中级)

6
 

你把代码编译成库不能有main部分,你的代码只是作为库存在,单片机程序使用时需要提供H头文件,用不用是在程序中。

此帖出自stm32/stm8论坛

点评

main去掉了,截图可能是后来做了别的尝试遗留的。 这个基础问题我试过了的。不至于不至于  详情 回复 发表于 2023-9-8 11:05
 
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

7
 
火辣西米秀 发表于 2023-9-8 07:26 编译能成功,确无法运行 感觉很熟悉的问题,又无从下手 是怎么烧写的呢  

不分开库的方式,正常运行

此帖出自stm32/stm8论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

8
 
bigbat 发表于 2023-9-8 10:17 你把代码编译成库不能有main部分,你的代码只是作为库存在,单片机程序使用时需要提供H头文件,用不用是在 ...

main去掉了,截图可能是后来做了别的尝试遗留的。

这个基础问题我试过了的。不至于不至于

此帖出自stm32/stm8论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

9
 
下雨的声音 发表于 2023-9-8 09:02 编译成库,只是说里面有这个文件。需要主动去调用吧?你把最小需要的文件保留如 .s(寄存器操作的工程),只 ...

.s我抽出来了,结果是LED和延迟函数正常,但串口还是不行

此帖出自stm32/stm8论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表