如题
想把STM32的库编译成.lib,然后应用代码链接,编译能成功,但是无法运行——
我曾试过,单步调试,就点亮和灭LED灯是可以的,但运行不行。
从头说一下,以免不清楚。
我的意思是
固件HAL库,编译成库 .lib
然后应用代码部分直接链接库编译
试过把 startup_xx.s 挪到 APP侧。
试了一下,它可以让(软件延时)toggle LED ,灯确实能闪。
但串口没成功打印字符。
感觉了一下,这可能和 armcc (5) 的编译、链接,也和STM32的几个文件的编译、链接方式有关,但是,搜了百度,没有搜到有用的
——他们都没有完全、彻底地把 STM32库有关的文件完全抽离出来。
也试过IAR,但效果类似。依然不行。
尝试看一下ARMCC的文档,然而,可能是英文的关系,但更大的可能是此前对编译器的命令缺乏了解,所以看不懂。
不知道哪位大侠对此有研究,指教一下,谢谢。
编译成lib,应该也只是可以用里面的函数,直接把底层做成lib我还真没试过,只试过把算法做成lib。
引用: bigbat 发表于 2023-9-8 10:17 你把代码编译成库不能有main部分,你的代码只是作为库存在,单片机程序使用时需要提供H头文件,用不用是在 ...
main去掉了,截图可能是后来做了别的尝试遗留的。
这个基础问题我试过了的。不至于不至于
引用: 下雨的声音 发表于 2023-9-8 09:02 编译成库,只是说里面有这个文件。需要主动去调用吧?你把最小需要的文件保留如 .s(寄存器操作的工程),只 ...
.s我抽出来了,结果是LED和延迟函数正常,但串口还是不行