完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我会尝试(按顺序)使用编译器优化代码siz。使用MIPPS16E指令集(虽然我从来没有尝试)。写(如果可能的话)更紧凑的代码。
|
|
|
|
另一个明显的方法是删除未使用的函数和协议。注释所有未使用的定义STACKYUSER…在TCPIP配置文件中。同样,Dimo.438 KB听起来像很多……/ Ruben
|
|
|
|
我使用最新的传统TCP IP堆栈(2013-06-05)。我在MPLABX中开发了我的应用程序,它显示了HEX文件的312KB,但是18F没有太多的程序内存。那我该怎么办呢?
|
|
|
|
注意,HEX文件格式增加了很多开销。二进制图像应该比HEX文件小很多。
|
|
|
|
如果这是操作系统报告的十六进制文件的大小,那么它至少是实际代码大小的两倍,因为fac认为十六进制文件是ASCII,并且使用两个字符来表示每个字节以及其他开销。
|
|
|
|
TCPIP帮助文件还包含关于所有协议的内存占用的信息,以及不同处理器和优化级别的示例。
|
|
|
|
十六进制文件大小不是内存大小。我有一个更大的应用程序,大小差不多。使它变小的第一种方法是使用付费编译器版本。
|
|
|
|
谢谢你们,我能把代码构建到新控制器PIC32MX664F128H上。它显示了58%的程序内存和94%的数据内存。我已经将堆大小设置为1024,堆栈大小设置为256。还将TCP1 PICYRAM更改为13312,并可以成功地构建代码。编译器优化设置为1。但是我的代码不工作,也就是说,板没有被检测到。把我的网页改成一个字符串并把它存储在程序内存中。非常感谢您的帮助。
|
|
|
|
你怎么指望它能用这么小的一堆呢?TCP/IP内存来自堆。所以堆必须比它大。还有留给其他任务去记忆的空间。
|
|
|
|
我试着把它变成像堆=2048和堆栈=512的值,但是无法建立代码。我得到的错误是:链接错误:不能分配节。BSS,大小=15608字节,属性= BSS链接错误:无法分配数据内存Cyt2.2.EXE:错误:LD返回255 E。关于最佳价值应该是什么?
|
|
|
|
不确定堆,它只用于电子邮件演示和初始化5.xx堆栈的堆栈时(如果我没记错的话)。我认为您需要通过调试器初始化初始化,以查明需要多少。堆栈大小取决于您使用多少自动/本地变量,以及函数调用嵌套有多大,当然还有中断。您可以用32位常量填充ram,然后运行程序一段时间,看看有多少常量已被覆盖。当然,这要求堆栈比开始时所需的要大。为了减少ram的使用,您可以减少使用的套接字的数量和类型(您只需要根据堆栈的定义以及使用的协议和演示来分配所需的数量)。还可以减少RX和TX缓冲区的大小,并调整TCP1 PICH RAMYL大小。在TCPIP STAKC帮助文件中查看更多信息。StAccCAN还可以使用外部SPI RAM。
|
|
|
|
有没有办法减少数据内存的使用?
|
|
|
|
只有小组成员才能发言,加入小组>>
5248 浏览 9 评论
2036 浏览 8 评论
1956 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3218 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2264 浏览 5 评论
786浏览 1评论
677浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
603浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
684浏览 0评论
581浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 09:36 , Processed in 1.750980 second(s), Total 100, Slave 83 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号