一箭双雕CDC程序问题
本帖最后由 Tuier 于 2024-1-31 13:33 编辑近期用一箭双雕做试验,先建立简单过程,测试一下CDC不停电下载功能,结果出现L107错误:地址空间溢出。编译后看到data=201.4,xdata=192,KEIL设置内存模式memory model为small,大小为large,应该没有问题才对。内存模式只能用large模式,但编译有很多警告。翻出我原来建立的模板同样的程序编译就正常,keil设置完全一样,data只占有53.0了。为何会这样,不得已求助论坛里的各位老师解惑!先谢谢了!
用stc_usb_cdc_8h_data.lib,这个库定义的data和你自己代码中的data总共201.4Byte,超过了芯片data区的范围。
两种方式,改用stc_usb_cdc_8h_xdata.lib,或者减少你自己代码中data的使用量。 21cnsound 发表于 2024-1-31 14:44
用stc_usb_cdc_8h_data.lib,这个库定义的data和你自己代码中的data总共201.4Byte,超过了芯片data区的范围 ...
源程序没有什么内容,就是一个点灯。用stc_usb_cdc_8h_xdata.lib能够通过编译,但警告很多。原来同样的程序用data库没有问题的。 我认为很简单一个试验程序,为何会这样?同样的硬件设备、同样的keil设置、同样的程序. 会不会是 REMOVEUNUSED 这个链接控制 导致的? 原来的工程设置中有这个设置,现在的工程设置中你忘了设置
页:
[1]