当前位置:首页 » 编程软件 » 反编译ram耗尽

反编译ram耗尽

发布时间: 2023-03-16 02:25:50

A. 我的毕业设计用STC89C52,在keil中用at89C52头文件编译时提示ram不够,怎样可以解决

RAM不够明显是你在RAM使用中太大手大脚了,52差不多有200字节可以使用,应该能满足大部分项目的要求了。你看看是不是全局数组开太多了,建议你开个数组后,尽量用指针。变量能用局部的就不要开全局。
另外,这两个芯片是兼容的,RAM大小也一样。

B. 哪个朋友们知道ARM反编译中的关键技术的研究

不知道这位朋友是学什么专业的?对咐团嵌入式有多少了解?
C语言不好的话先学C语言,C语言很好的话就要看arm体系结构及编程、gun/linux编程等书。
要学的东西很多,嵌入式不是一蹴而就的。多看看别人的程序,不过必须肯定一点,就是必须要用C语言,无论什么都是C编的。

无论做什么都要对linux内核有足够的了解,因为他们基本都是编译在一起的芦迟,因为arm的ROM空间有衡哗橘限,不像PC机有那么大的RAM和磁盘空间。

个人觉得还是做驱动比较好,就多看看驱动方面的程序,成品有很多(都是C语言边的,嵌入式中很少有汇编,除非必须,如bootloader的第一阶段stage1),基本都大同小异,改一改都可以用,主要是看一下他们的设计思想,前途一片光明。

还要多看看linux编程和unix编程,因为他们都支持POSIX,互相兼容,linux也是在unix的基础上发展起来的。

最主要的是持之以恒,祝你好运!!!

C. 写单片机程序,变量太多了,无法编译,但是使用的单片机,RAM是很大的,怎么办

加入ABSACC.H头文件,使用XBYTE关键字将部分变量定义到1024字节的薯做XRAM中散拆。
这样数掘衡你就有1024字节的RAM空间使用了。

D. 在电脑中,LDR是什么意思

LDR文件是ROM里的程序,你反编译里面的代码,是DSP的汇编程序,分析程序那么
硬盘的结构你就都知道了,就好比电脑里的操作系统WIN98!RAM就是ROM里的
程序运行过程中生成的,比如一些堆栈,状态等,跟电脑里的内寸一样!盘片
上面的是叫做固件吗?就是一个列表,让ROM中的程序来读的,就象数据库一样。
有朋友说美钻的硬盘电路板上耐察看不到ROM芯片,(不知道是不是真没有,还是着位
老兄看差了!)那就一定在DSP芯片内部了。DSP内部也有ROM和RAM,不过都
很小,如果程序放不下就需要扩展,扩展后我们在电路板上看到的ROM芯片了。
如果没有ROM的话那么RAM就铅明一定很大,因为ROM程序应该没有用途的,它就是一
些跳转和内存分配的程昌激茄序,将硬盘上的真正的启动程序读出来放到RAM里,然后
在RAM里执行!这样有好处是降低成本。

E. 如何反编译IMG(内核)文件

先介绍一下编译核心的选项,希望能对大家消除对内核的神秘感有所帮助。
1.代码成熟等级
2..处理器类型和特色
3.对模块的支持
4.基本的选择
5.即插即用支持
6.块设备支持
7.网络选项
8.电话支持
9.SCSI设备的支持
10.I2O接口适配器
11.网络设备支持
12.配置业余无线广播
13.红外支持
14.ISDN的文件系统
15.旧型的光驱类型(非IDE界面的光驱)
16.字符设备
17.USB支持
18.文件系统
19.控制台驱动
20.声卡驱动
21.Kernel hacking
第二节 内核版本
由于Linux的源程序是完全公开的,任何人只要遵循GPL,就可以对内核加以修改并发布
给他人使用。Linux的开发采用的是集市模型(bazaar,与cathedral--教堂模型--对应
),为了确保这些无序的开发过程能够有序地进行,Linux采用了双树系统。一个树是稳
定树(stable tree),另一个树是非稳定树(unstable tree)或者开发树(developm
ent tree)。一些新特性、实验性改进等都将首先在开发树中进行。如果在开发树中所
做的改进也可以应用于稳定树,那么在开发树中经过测试以后,在稳定树中将进行相同
的改进。一旦开发树经过了足够的发展,开发树就会成为新的稳定树。开发数就体现在
源程序的版本号中;源程序版本号的形式为x.y.z:对于稳定树来说,y是偶数;对于开
发树来说,y比相应的稳定树大一(因此,是奇数)。确定是以″ root ″的身份签入,
然后cd 到 /usr/src 。uname -r 这个指令将会显示版本。内核版本的更新可以访问<h
ttp://www.kernel.org/>。
第三节 编译原因
Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订了
旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的
系统度身定制一个更高效,更稳定的内核,就需要重新编译内核。
通常,更新的内核会支持更多的硬件,具备更好的进程管理能力,运行速度更快、更稳
定,并且一般会修复老版本中发现的许多漏洞等,经常性地选择升级更新的系统内核是
Linux使用者的必要操作内容。

为了正确的合理地设置内核编译配置选项,从而只编译系统需要的功能的代码,一般主
要有下面四个考虑:
---自己定制编译的内核运行更快(具有更少的代码)
---系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中)
---不需要的功能编译进入内核可能会增加被系统攻击者利用的漏洞
---将某种功能编译为模块方式会比编译到内核内的方式速度要慢一些
以上是针对成熟的Linux套件如Redhat Linux而言,我的目的是为建造嵌入式Linux操作系
统做准备,也是必由之路。
第四节 准备工作
第一部分 新版本内核的获取和更新
Linux内核版本发布的官方网站是< http://www.kernel.org/>,国内各大ftp上一般都可
以找到某些版本的内核。新版本的内核的发布有两种形式,一种是完整的内核版本,另
外一种是patch文件,即补丁。完整的内核版本比较大,比如linux-2.4.0-test8.tar.b
z2就有18M之多。完整内核版本一般是.tar.gz(.tgz)文件或者是.bz2文件,二者分别
是使用gzip或者bzip2进行压缩的文件,使用时需要解压缩。patch文件则比较小,一般
只有几十K到几百K,极少的会超过1M。但是patch文件是针对于特定的版本的,需要找到
自己对应的版本才能使用。
编译内核需要root权限。把需要升级的内 拷贝到/usr/src/下(下文中以2.2.16的内核
的linux-2.2.16tar.gz为例),命令为
#cp linux-2.2.16tar.gz /usr/src
先查看当前/usr/src的内容,注意到有一个linux的符号链接,它指向一个类似于linux
-2.2.14(对应于现在使用的内核版本号)的目录。首先删除这个链接:
#cd /usr/src
#rm -f linux
现在解压下载的源程序文件。如果所下载的是.tar.gz(.tgz)文件,使用命令:
#tar -xzvf linux-2.2.16tar.gz
如果下载的是.bz2文件,例如linux-2.2.16tar.bz2,使用命令
#bzip2 -d linux-2.2.16tar.bz2
#tar -xvf linux-2.2.16tar

现在再来看一下/usr/src下的内容,发现现在有了一个名为linux的目录,里面就是需要
升级到的版本的内核的源程序。还记得那个名为linux的链接么?之所以使用那个链接就
是防止在升级内核的时候会不慎把原来版本内核的源程序给覆盖掉了。现在也需要同样
处理:
#mv linux linux-2.2.16
#ln -s linux-2.2.16 linux

如果还下载了patch文件,比如patch-2.2.16,就可以进行patch操作(下面假设patch-
2.2.16已经位于/usr/src目录下了,否则需要先把该文件拷贝到/usr/src下):
#patch -p0 < patch-2.2.16
第二部分 准备主机板和相关硬件的说明手册
其实也不用太详细,只要知道您的硬件是属于哪一类型就行了。例如:有一张SCSI卡,
那就要知道这张卡的名字,有一台cd-rom,就要知道这台光驱是哪一种牌子的,是否为标
准的IDE/ATAPI界面,还是另有专属接口卡呢?或者,主机版是否有支持Triton芯片(通
常586以上的电脑常有),这些信息能帮助我们,使得设定变得清楚且容易。
因此,不管您有什么使用手册,准备好吧。即使现在不用,将来还是会用到的(设X-w
indow system时要显示卡的手册)。
第三部分 检查声卡的IRQ设定和其种类
如果配有一张声卡,除了要知道卡的种类外(例如 Sound Blaster)还需要知道这张卡
的IRQ地址。一般来说,卢卡的IRQ地址是5或7而IO地址则为220。DMA则l,不过,有时不
同的声卡可能会有不同的设定。因为稍后的选项里,就会要填入这些数字。
第四部分 编译核心的硬件需求
在编译核心时,确定您的RAM最好在8MB以上, 否则可能会很慢而且问题会很多,记得查
看swap有没有打开(用free指令)。此外,最好不要超频,不然很有可能会发生signal
11的错误,使得编到一半的核心停了下来,其实编译核心就好比编译程序一样,只是因
为构成核心的程序太多了,因此我们能小心尽量小心。

F. Adobe Flash CS5的反编译Flash

Flash CS5中包含:矢量图,声音,图片,片段,字体,文本,脚本等复杂元素。我们常说的flash反编译,就是解析Flash ,把Flash导出的格式(常见的为swf和exe)再编译成fla格式,提取出swf或exe中的矢量图,将图片,片段,声音,字体,文本,脚本等尽量还原成原来fla格式,即flash可编辑格式。 ·Intel Pentium 4或AMD Athlon 64处理器
·带有Service Pack 2(建议使用Service Pack 3)的Microsoft Windows XP;带有Service Pack 1的Windows Vista Home Premium、Business、Ultimate或Enterprise;或者Windows 7。
·1GB的RAM。
·3.5GB的可用于安装的硬盘驱动器空间;在安装过程中所需的额外空闲空间(不能安装在基于可移动闪盘的存储设备上)。
·1024×768的显示屏(建议使用1280×800)以及16位的视频卡。
·DVD-ROM驱动器。
·多媒体特性所需的QuickTime 7.6.2软件。 ·多核Intel处理器。
·Mac OS X版本10.5.7或版本10.6。
·1GB的RAM。
·4GB的可用于安装的硬盘驱动器空间;在安装过程中所需的额外空闲空间(不能安装在使用区分大小写的文件系统的卷上或者基于可移动闪盘的存储设备上)

G. 怎么看 CCS 编译后 代码的ROM 和RAM空间用掉了多少

编译完后下方信息栏中有个program size,data显示用了多少片内ram,xdata显示用了多少片外ram,code显示用了多少rom

H. 51单片机ram不够用,怎么优化程序

1.肯定的,嵌套越多,要压栈保存的信息就越多,占用的RAM就越多了,对51来说,最多就是CPU内256字节的RAM。

2.是的。

3.没用过这芯片……我用的最多的是AVR

4因为你定义了一个pagebuf[512],512字节啊!51单片机的data撑死才256字节(还没算压栈保存数据需要的RAM),所以编译器自动将这个数组放在了XDATA中。

I. 怎么知道单片机的rom ram是否已经用完

程序编译以后会有RAM和ROM的使用巧袜信息,超过了你就知道了。中断的存储空间,现在基本上是中断那只存一个跳转指令,跳转到中断服务程序,不过中敬陵断里面还是尽量少放指令,减少程序在中断的耽搁时间,尽量把处理放在主孝稿激程序里。

J. 怎么看单片机自带的ROM/RAM够不够用

这个主要是看所做项目大小,程启滚序大小与ROM挂钩,从程序量上估计ROM是否够用,变知旁纯量的多少与RAM有关,从变量的多少估算RAM是否够用。单搭咐片机运行是不占用或很少占用内存的。

热点内容
linux谷歌浏览器安装 发布:2025-07-20 10:44:07 浏览:335
好用的反编译 发布:2025-07-20 10:32:44 浏览:57
9月9日复刻先祖是什么安卓 发布:2025-07-20 10:30:27 浏览:605
流控数据库 发布:2025-07-20 10:27:16 浏览:412
云抢包网站源码 发布:2025-07-20 10:25:38 浏览:121
安卓多开为什么一直打不开 发布:2025-07-20 10:25:00 浏览:883
ios移动文件夹 发布:2025-07-20 10:24:50 浏览:690
数控机床编程步骤 发布:2025-07-20 10:14:22 浏览:97
存储单位容量最小的是 发布:2025-07-20 10:14:11 浏览:769
爱情脚本短 发布:2025-07-20 09:56:44 浏览:681