当前位置:文档之家› ARM scatter文件以及boot的一点收获

ARM scatter文件以及boot的一点收获

ARM scatter文件以及boot的一点收获
ARM scatter文件以及boot的一点收获

ARM scatter文件以及boot的一点收获

armlink可以通过scatter文件指定Load view和Execute View。那么往往我们指定的时候并不会把某个区放在一起,比如ZI,我通过试验发现,如果你把ZI指定到了某一区域(Execute View -Region Name),那么他就不成为真正意义上的ZI了,ZI是不占bin文件的空间的。ZI是有bootloader去初始化的。

我们知道,在PC上一般进程执行时,前面的虚拟内存上是:text,data,bss,然后最后面是stack,而stack是可以指定大小的。也就是说bss->ZI是在一起的,os的loader会帮助你把ZI全部清零。

所以我在第一段文字那么讲,因为scatter文件有可能会把ZI固定放在某个地方,所以就不可能把所有的ZI放在一起了。

那么boot是如何知道通用ZI等区域的起始地址和长度呢?请看某个.s里面的IMPORT:

IMPORT config_bridge_wait_states

IMPORT |Image$$NAND_SDRAM_COPY$$Base|

IMPORT |Image$$NAND_SDRAM_COPY$$Length|

IMPORT |Load$$NAND_SDRAM_COPY$$Base|

IMPORT |Image$$BB_DATA$$Base|

IMPORT |Image$$BB_DATA$$Length|

IMPORT |Load$$BB_DATA$$Base|

IMPORT |Image$$BB_DATA$$ZI$$Base|

IMPORT |Image$$BB_DATA$$ZI$$Length|

但是你会奇怪,这些变量那里来的啊?肯定是armlink自动生成的,那我就奇怪了,为啥叫

BB_DATA

呢?诡异了。我查了ADS的Linker guide,Accessing Image Symbols这一节里面说:

Symbol Description

Load$$region_name$$Base Load address of the region.

Image$$region_name$$Base Execution address of the region.

Image$$region_name$$Length Execution region length in bytes (multiple of 4).

Image$$region_name$$Limit Address of the byte beyond the end of the execution region.

Image$$region_name$$ZI$$Base Execution address of the ZI output section in this region.

Image$$region_name$$ZI$$Length Length of the ZI output section in bytes (multiple of 4).

Image$$region_name$$ZI$$Limit Address of the byte beyond

region_name请看我的scatter文件:

.....

BB_DATA +0x0

{

* (+RW, +ZI)

}

.......

bootloader会根据|Image$$BB_DATA$$ZI$$Base|和|Image$$BB_DATA$$ZI$$Length|去初始化

这块内存的。

然后发现说是:Linker-defined symbols are defined by armlink only when your code references them.

也就是就是说你在.s,.c等地方引用的时候,armlink才为你生成,而且.o的名字是anon$$obj.o,搞不懂ARM老喜欢搞些$$,是不是拜金啊。^_^

WIN7系统文件详解

大家都喜欢美化系统,第一步需要先了解系统文件,以便修改。 整理出大家常用的几个。 为了大家好查看·我会分类。 A ACCESS.CHM - Windows帮助文件 ACCSTAT.EXE - 辅助状态指示器 ADVAPI32.DLL - 高级Win32应用程序接口 AHA154X.MPD - SCSI驱动程序 AM1500T.VXT - 网卡驱动程序 AM2100.DOS - 网卡驱动程序 APPSTART.ANI - 动画光标 APPS.HLP - Windows帮助文件 AUDIOCDC.HLP - "易码编码解码器"帮助文件 AWARDPR32.EXE - 增加打印机工具 B BIGMEM.DRV - BIGMEM虚拟设备 BILLADD.DLL - 动态链接库(支持MSW) BIOS.VXD - 即插即用BIOS接口 BUSLOGIC.MPD - SCSI驱动程序 C CALC.EXE - 计算器应用程序 CANNON800.DRV - 佳能打印机驱动程序 https://www.doczj.com/doc/f47356263.html, - MSDOS命令 CHS16.FON - 字体文件(16点阵中文) CANYON.MID - MIDI文件例子 CARDDRV.EXE - PCMCIA支持程序 CDFS.VXD - CDROM文件系统 CDPLAYER.EXE - CD播放器应用程序 CDPLAYER.HLP - CD播放器帮助文件 CHIPS.DRV - 芯片技术显示驱动程序 CHKDSK.EXE - DOS磁盘检查工具 CHOOSUSR.DLL - 网络客户 CHOKD.WAV - 声音文件例子 CIS.SCP - 脚本文件(演示如何建立与Compuserve的PPP连接) CLAIRE~1.RMI - MINI序列 CLIP.INF - 安装信息文件(剪粘板查看器) CLOSEWIN.AVI - 影片剪辑(AVI)(如何关闭窗口) CMC.DLL:Mail - API1.0公共信息调用 COMBUFF.VXD - COM端虚拟设备

Source Insight用法精细

Source Insight实质上是一个支持多种开发语言(java,c ,c 等等) 的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,常被我 们当成源代码阅读工具使用。 作为一个开放源代码的操作系统,Linux附带的源代码库使得广大爱好者有了一个广泛学习、深入钻研的机会,特别是Linux内核的组织极为复杂,同时,又不能像windows平台的程序一样,可以使用集成开发环境通过察看变量和函数,甚至设置断点、单步运行、调试等手段来弄清楚整个程序的组织结构,使得Linux内核源代码的阅读变得尤为困难。 当然Linux下的vim和emacs编辑程序并不是没有提供变量、函数搜索,彩色显示程序语句等功能。它们的功能是非常强大的。比如,vim和emacs就各自内嵌了一个标记程序,分别叫做ctag和etag,通过配置这两个程序,也可以实现功能强大的函数变量搜索功能,但是由于其配置复杂,linux附带的有关资料也不是很详细,而且,即使建立好标记库,要实现代码彩色显示功能,仍然需要进一步的配置(在另一片文章,我将会讲述如何配置这些功能),同时,对于大多数爱好者来说,可能还不能熟练使用vim和emacs那些功能比较强大的命令和快捷键。 为了方便的学习Linux源程序,我们不妨回到我们熟悉的window环境下,也算是“师以长夷以制夷”吧。但是在Window平台上,使用一些常见的集成开发环境,效果也不是很理想,比如难以将所有的文件加进去,查找速度缓慢,对于非Windows平台的函数不能彩色显示。于是笔者通过在互联网上搜索,终于找到了一个强大的源代码编辑器,它的卓越性能使得学习Linux内核源代码的难度大大降低,这便是Source Insight3.0,它是一个Windows平台下的共享软件,可以从https://www.doczj.com/doc/f47356263.html,/上边下载30天试用版本。由于Source Insight是一个Windows平台的应用软件,所以首先要通过相应手段把Linux系统上的程序源代码弄到Windows平台下,这一点可以通过在linux平台上将 /usr/src目录下的文件拷贝到Windows平台的分区上,或者从网上光盘直接拷贝文件到Windows平台的分区来实现。 下面主要讲解如何使用Source Insight,考虑到阅读源程序的爱好者都有相当的软件使用水平,本文对于一些琐碎、人所共知的细节略过不提,仅介绍一些主要内容,以便大家能够很快熟练使用本软件,减少摸索的过程。 安装Source Insight并启动程序,可以进入图1界面。在工具条上有几个值得注意的地方,如图所示,图中内凹左边的是工程按钮,用于显示工程窗口的情况;右边的那个按钮按下去将会显示一个窗口,里边提供光标所在的函数体内对其他函数的调用图,通过点击该窗体里那些函数就可以进入该函数所在的地方。

STATA命令应用及详细解释(汇总情况)

STATA命令应用及详细解释(汇总) 调整变量格式: format x1 .3f ——将x1的列宽固定为10,小数点后取三位format x1 .3g ——将x1的列宽固定为10,有效数字取三位format x1 .3e ——将x1的列宽固定为10,采用科学计数法format x1 .3fc ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符 format x1 .3gc ——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符 format x1 %-10.3gc ——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符,加入“-”表示左对齐 合并数据: use "C:\Documents and Settings\xks\桌面\2006.dta", clear merge using "C:\Documents and Settings\xks\桌面\1999.dta" ——将1999和2006的数据按照样本(observation)排列的自然顺序合并起来 use "C:\Documents and Settings\xks\桌面\2006.dta", clear merge id using "C:\Documents and Settings\xks\桌面 \1999.dta" ,unique sort ——将1999和2006的数据按照唯一的(unique)变量id来合并,

在合并时对id进行排序(sort) 建议采用第一种方法。 对样本进行随机筛选: sample 50 在观测案例中随机选取50%的样本,其余删除 sample 50,count 在观测案例中随机选取50个样本,其余删除 查看与编辑数据: browse x1 x2 if x3>3 (按所列变量与条件打开数据查看器)edit x1 x2 if x3>3 (按所列变量与条件打开数据编辑器) 数据合并(merge)与扩展(append) merge表示样本量不变,但增加了一些新变量;append表示样本总量增加了,但变量数目不变。 one-to-one merge: 数据源自stata tutorial中的exampw1和exampw2 第一步:将exampw1按v001~v003这三个编码排序,并建立临时数据库tempw1 clear use "t:\statatut\exampw1.dta" su ——summarize的简写 sort v001 v002 v003 save tempw1

USB INF文件详解(USB)

INF文件详解 INF文件格式要求 一个INF文件是以段组织的简单的文本文件。一些段油系统定义(System-Defined)的名称,而另一些段由INF文件的编写者命名。每个段包含特定的条目和命名,这些命名用于引用INF文件其它地方定义的附加段。 INF文件的语法规则: 1、要求的内容:在特定的INF文件中所要求的必选段和可选段、条目及命令依赖于所要安装的设备组件。端点顺序可以是任意的,大多数的INF文件安装惯用的次序来安排各个段。 2、段名:INF文件的每个段从一个括在方括号[]中的段名开始。段名可以由系统定义或INF编写者定义 在Windows 2000中,段名的最大长度为255个字符。在Windows 98中,段名不应该超过28个字符。如果INF设计要在两个平台上运行,必须遵守最小的限制。段名、条目和命令不分大小写。在一个INF文件中如果有两个以上的段有相同的名字,系统将把其条目和命令合并成一个段。每个段以另一个新段的开始或文件的结束为结束。 3、使用串标记:在INF文件中的许多值,包括INF编写者定义的段名都可以标示成%strkey%形式的标记。每个这样的strkey必须在INF文件的Strings 段中定义为一系列显示可见字符组成的值。 4、行格式、续行及注释:段中的每个条目或命令以回车或换行符结束。在条目或命令中,“\”可以没用做一个显示的续行符;分好“;”标示后面的内容是注释;可以用都好“,”分隔条目和命令中提供的多个值。 INF文件举例 下面是一个完整的.inf文件,它是Windows 2000 DDK提供的USB批量阐述驱动程序范例中所附的.inf文件。 ; Installation inf for the Intel 82930 USB Bulk IO Test Board ; ; (c) Copyright 1999 Microsoft ; [Version] Signature="$CHICAGO$" Class=USB ClassGUID={36FC9E60-C465-11CF-8056-444553540000} provider=%MSFT% DriverVer=08/05/1999 [SourceDisksNames] 1="BulkUsb Installation Disk",,, [SourceDisksFiles] BULKUSB.sys = 1 BULKUSB.inf = 1

安卓系统文件夹结构详解

安卓系统文件夹结构详解 核心提示:本文介绍的是Android手机系统的文件夹结构,帮助大家更直观地了解系统,作为查询工具加入收藏夹还是很不错的哦*^_^*\\system\\app这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\\data\\文件夹中。 下面是详细的介绍: \\system\\app\\AlarmClock.apk闹钟\\system\\app\\AlarmClock.odex\\ system\\app\\Browser.apk浏览器\\system\\app\\Browser.odex\\ system\\app\\Bugreport.apk Bug报告 \\system\\app\\Bugreport.odex\\system\\app\\Calculator.apk计算器 \\system\\app\\Calculator.odex\\system\\app\\Calendar.apk日历\\ system\\app\\Calendar.odex\\system\\app\\CalendarProvider.apk日历提供\\system\\app\\CalendarProvider.odex\\ system\\app\\Camera.apk照相机\\system\\app\\Camera.odex\\ system\\app\\com.amazon.mp3.apk亚马逊音乐\\system\\app\\Contacts.apk联系人 \\system\\app\\Contacts.odex\\system\\app\\DownloadProvider.apk下载提供 \\system\\app\\DownloadProvider.odex\\system\\app\\DrmProvider.apk DRM数字版权提供 \\system\\app\\DrmProvider.odex\\system\\app\\Email.apk电子邮件客户端 \\system\\app\\Email.odex\\system\\app\\FieldTest.apk测试程序 GoogleData a \\system\\app\\FieldTest.odex\\system\\app\\GDataFeedsProvider.apk GoogleDat 提供 \\system\\app\\GDataFeedsProvider.odex\\system\\app\\Gmail.apk Gmail电子邮件 \\system\\app\\Gmail.odex\\system\\app\\GmailProvider.apk Gmail提供 \\system\\app\\GmailProvider.odex\\system\\app\\GoogleApps.apk谷歌程序包 \\system\\app\\GoogleApps.odex\\system\\app\\GoogleSearch.apk搜索工具 \\system\\app\\GoogleSearch.odex\\system\\app\\gtalkservice.apk GTalk服务 \\system\\app\\gtalkservice.odex\\system\\app\\HTMLViewer.apk HTML查看器 yahoo o \\system\\app\\HTMLViewer.odex\\system\\app\\IM.apk即时通讯组件包含MSN、yaho 通 \\system\\app\\ImCredentialProvider.apk\\system\\app\\ImProvider.apk \\system\\app\\Launcher.apk启动加载器(br) \\system\\app\\Maps.apk电子地图 \\system\\app\\Maps.odex\\system\\app\\MediaProvider.apk多媒体播放提供 \\system\\app\\MediaProvider.odex\\system\\app\\Mms.apk短信、彩信 \\system\\app\\Mms.odex\\system\\app\\Music.apk音乐播放器 \\system\\app\\Music.odex\\system\\app\\MyFaves.apk T-Mobile MyFaves程序 \\system\\app\\MyFaves.odex\\system\\app\\PackageInstaller.apk apk安装程序\\system\\app\\PackageInstaller.odex\\system\\app\\Phone.apk电话拨号器 \\system\\app\\Phone.odex\\system\\app\\Settings.apk系统设置 \\system\\app\\Settings.odex\\system\\app\\SettingsProvider.apk设置提供

source insight解析命令行

安装完SI后,会在安装一个如下的文件 我的文档\Source Insight\c.tom c.tom的功能与C语言中的#define类似。打开这个文件,会看到有很多空格分割的字符串,SI在我们阅读代码时,自自动将空格前的字符串替换为空格后的字符串(仅仅是影响阅读,不影响编译喔)。 举两个例子。 #define AP_DECLARE(type) type AP_DECLARE(int) ap_calc_scoreboard_size(void) { .... } source insight 把AP_DECLARE当作了函数,当想查ap_calc_scoreboard_size的时候总是很麻烦,不能直接跳转. 我的文档\Source Insight\c.tom 加入 AP_DECLARE(type) type 如下的代码如何让SI 识别出f是一个函数? #define EXPORT_CALL(return,functionname) return functionname EXPORT_CALL (int, f1()) 我的文档\Source Insight\c.tom 加入 EXPORT_CALL(return,functionname) return functionname 同时,在#define中,标准只定义了#和##两种操作。#用来把参数转换成字符串,##则用来连接前后两个参数,把它们变成一个字符串。(c.tom的功能与支持##,不支持#好像) 这个技巧我在阅读zebra的命令行代码时也用到了。 比如下吗一段代码:(DEFUN是一个宏定义,这个文件中有很多这样的DEFUN。不修改c.tom 之前看到的是这样的)

完整word版,stata命令大全(全),推荐文档

*********面板数据计量分析与软件实现********* 说明:以下do文件相当一部分内容来自于中山大学连玉君STATA教程,感谢他的贡献。本人做了一定的修改与筛选。 *----------面板数据模型 * 1.静态面板模型:FE 和RE * 2.模型选择:FE vs POLS, RE vs POLS, FE vs RE (pols混合最小二乘估计) * 3.异方差、序列相关和截面相关检验 * 4.动态面板模型(DID-GMM,SYS-GMM) * 5.面板随机前沿模型 * 6.面板协整分析(FMOLS,DOLS) *** 说明:1-5均用STATA软件实现, 6用GAUSS软件实现。 * 生产效率分析(尤其指TFP):数据包络分析(DEA)与随机前沿分析(SFA) *** 说明:DEA由DEAP2.1软件实现,SFA由Frontier4.1实现,尤其后者,侧重于比较C-D与Translog 生产函数,一步法与两步法的区别。常应用于地区经济差异、FDI溢出效应(Spillovers Effect)、工业行业效率状况等。 * 空间计量分析:SLM模型与SEM模型 *说明:STATA与Matlab结合使用。常应用于空间溢出效应(R&D)、财政分权、地方政府公共行为等。 * --------------------------------- * --------一、常用的数据处理与作图----------- * --------------------------------- * 指定面板格式 xtset id year (id为截面名称,year为时间名称) xtdes /*数据特征*/ xtsum logy h /*数据统计特征*/ sum logy h /*数据统计特征*/ *添加标签或更改变量名 label var h "人力资本" rename h hum *排序 sort id year /*是以STATA面板数据格式出现*/ sort year id /*是以DEA格式出现*/ *删除个别年份或省份 drop if year<1992 drop if id==2 /*注意用==*/

ARM——分散加载描述文件

ARM——分散加载描述文件 分散加载的实现(scatter) 很多朋友对分散加载不是很理解,其实它的原来很简单,这些加载的原理都源自生活。 由于现在的嵌入式技术发展比较快,各类存储器也层出不穷,但是它们在容量、成本和速度上有所差异,嵌入式系统又对成本比较敏感,那么合理的选择存储器和充分的利用存储器资源成为一个必要解决的问题。咋们工程师最喜欢的就是发掘问题,然后解决问题,基于嵌入式系统对存储器的敏感,那么要合理的利用存储器资源,就必须找到一种合理的方式。工程师们发现,可以把运行的程序放在不同成本的存储器中来寻找这个成本的支点,比如把没有运行的但是较为庞大的程序放在容量大、成本低、速度也较低的FLASH存储器中,要用的时候再去拿。但是,这里面又有一个问题,嵌入式本身就对信号的处理速度有较高的要求,这点在实时操作系统的定义上上有所体现。所以那些经常要用的程序段如果要保证其高速的运行那么就得放在一个在高速的存储器中,不过这是有代价的:较高成本,小容量。但是,相信由于技术的发展这个问题终将被解决,到时候寻找平衡点的问题也就不存在了。好了,说了多了点。切入正题。 程序总有两种状态:运行态和静止态。当系统掉电的时候程序需要被保存在非易失性的存储器中,且这个时候程序的排放是按照地址依次放的,换句话说:我才懒得管它怎么放,只要不掉就行。当系统上电后,CPU就要跑起来了,CPU 属于高速器件,存储器总是不怎么能跟得上,既然跟不上那么我们就尽量缩短它们之间的差距,那留下一条路,那就是尽量提高存储器的读取速度,存储器类型决定其速度的水平,那么尽量放在速度高的存储器就成为首选解决方案。那么我们就把要执行的程序暂时拿到速度较快的RAM中。那么拿的过程就牵涉到程序的加载了。这就是要解决的问题。 一个映像文件由域(region)、输出段(output sections)和输入段(input sections)组成。不要想得太复杂,其实他们之间就是包含与被包好的关系。具体关系是这样的: 映像文件>域>输出段>输入段 输入段: 输入段就是我们写的代码+初始化的数据+应该被初始化为0的数据+没有初始化的数据,用英文表示一下就是:RO(ReadOnly),RW (ReadWrite),ZI (ZeroInitialized),NOINIT(Not Initialized)。ARM连接器根据各个输入段不同的属性把相同的拿再一起组合一下就成为了输出段。 请看看平时写的东东: AREA RESET, CODE, READONLY AREA DSEG1, DATA, READWRITE AREA HEAP, NOINIT, READWRITE 看出其属性没? 输出段: 为了简化编译过程和更容易取得各种段的地址,那么把多个同属性的输入段按照一定的规律组合在一起,当然这个输出段的属性就和它包含的输入段的属性

Linux 文件系统详解

文件系统粗略的分类: 下面依次进行介绍: 根文件系统 根文件系统(rootfs)是内核启动时所 mount(挂载)的第一个文件系统,内核代码映像文件保存在根文件系中,而系统引导启动程序会在根文件系统 挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。 根文件系统的根目录/下有很多子目录:

虚拟文件系统 从上面的分类图中我们可以知道Linux中有很多文件系统,并且是共存的。那么在Linux中是怎么做到让一切都是文件呢?这是由于有一层虚拟文件系统软件抽象层的存在,这个软件抽象层为用户屏蔽了底层文件系统的差异,向上层提供了统一地访问接口。如图:

无论最下层的文件系统是什么,我们最上层的用户端尽管使用系统调用接口(open、write、read等)或glibc接口(fopen、fwrite、fread等)来操作就可访问文件系统里的文件,使得一切都是文件成为可能。 真文件系统 真文件系统其实是实际存储设备的文件系统,挂载于EEPROM、 Nor FLASH、 NAND FLASH、 eMMC 等存储器中。 1、ext2 EXT2第二代扩展文件系统(second extended filesystem,缩写为ext2),是Linux内核早期所用的文件系统,但是随着技术的发展 ext2 文件系统已经不推荐使用了。ext2是一个非日志文件系统。 2、ext3 EXT3是第三代扩展文件系统(Third extended filesystem,缩写为ext3),是一个日志文件系统。主要特点: ?高可用性:系统使用了ext3文件系统后,即使在非正常关机后,系统也不需要检查文件系统。宕机发生后,恢复ext3文件系统的时间只要数十秒钟。?数据完整性:ext3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。 3、ext4 EXT4是第四代扩展文件系统(Fourth extended filesystem,缩写为ext4)是一个日志文件系统,是ext3文件系统的后继版本。主要特点: ?更多的子目录数量:Ext3目前只支持32000个子目录,而Ext4取消了这一限制,理论上支持无限数量的子目录。 ?更多的块和i-节点数量:Ext3文件系统使用32位空间记录块数量和i-节点数量,而Ext4文件系统将它们扩充到64位。 伪文件系统

source命令与“.”点命令

source命令与“.”点命令 source 命令是bash shell 的内置命令,从C Shell 而来。 source 命令的另一种写法是点符号,用法和source 相同,从Bourne Shell而来。 source 命令可以强行让一个脚本去立即影响当前的环境。 source 命令会强制执行脚本中的全部命令,而忽略文件的权限。 source 命令通常用于重新执行刚修改的初始化文件,如.bash_profile 和.profile 等等。source 命令可以影响执行脚本的父shell的环境,而export 则只能影响其子shell的环境。 使用方法举例: $source ~/.bashrc 或者: $. ~/.bashrc 执行后~/.bashrc 中的内容立即生效。 一个典型的用处是,在使用Android 的mm 等相关命令时,需要先执行以下命令:$cd $source ./build/envsetup.sh 或者$. ./build/envsetup.sh source命令(从C Shell 而来)是bash shell的内置命令。点命令,就是个点符号,(从Bourne Shell而来)是source的另一名称。同样的,当前脚本中设置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始化文件,如.bash_profile 和.profile 等等。例如,如果在登录后对.bash_profile 中的EDITER 和TERM 变量做了修改,则能用source 命令重新执行.bash_profile 中的命令而不用注销并重新登录。 source命令的作用就是用来执行一个脚本,那么: source a.sh 同直接执行./a.sh 有什么不同呢,比如你在一个脚本里export $KKK=111 ,如果你用./a.sh执行该脚本,执行完毕后,你运行echo $KKK ,发现没有值,如果你用source 来执行,然后再echo ,就会发现KKK=111。因为调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结果并没有反应到父shell里,不过source不同,他就是在本shell 中执行的,所以能看到结果。 “.”点命令是shell的一个内部命令,它从指定的shell 文件中读入所有命令语句并在

ucinet软件解释对照

FILES文件: change default folder改变默认文件夹 create new folder创造新文件夹 copy Ucinet dataset复制UCINET数据集 rename ucinet dataset重命名ucinet delete ucinet dateset删除ucinet print setup打印设置 text editor文档编辑程序 view previous output查看前一个输出 launch mage启动mage launch pajek启动pajet exit退出 DA TA数据: Spreadsheets:matrix 电子表格:矩阵 Random:sociometric/bernoulli/multinomial 随机:计量社会学/伯努利分布/多项分布Import:DL/multiple DL files/VNA/pajek/krackplot/negopy/raw/excel matrix 输入export: DL/multiple DL files/VNA/pajek/krackplot/negopy/raw/excel matrix 输出 css Browse 浏览 Display 显示 Describe 描述 Extract 解压缩 Remove 移动 Unpack 解包 Join 加入 Sort 排序 Permute 交换 Transpose 调换 Match net and attrib datasets 匹配网和属性数据集 Match multiple datasets 匹配多重数据集 Attribute to matrix 属性到矩阵 Affiliations(2-mode to 1-mode) 联系2模到1模 Subgraphs from partitions 子图分割 Partitions to sets 集合分割 Create node sets 创造节点设置 Reshape 变形 TRANSFORM变换: Block 块 Collapse 塌缩 Dichotomize 对分 Symmetrize 对称

安卓系统文件夹结构及其文件解析(详细)

安卓系统文件夹及其文件解析 打开Android文件管理器,会发现里面数十个英文名称命名的文件夹罗列其中,很多功能我们可以从其名字上略有所知,内部大批量的文件却让我们有些一头雾水。这些文件是什么?有什么用?我们能不能删?这些都是我们脑中充满疑问的。现在将将Android手机内部文件夹的架构和各文件的功能描述介绍给大家,让大家自己手机的内部资源有个比较透彻的理解,同时也避免了用户误删造成的数据丢失和系统崩溃。 【文件夹功能简介】 \system\app 这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。 \system\bin 这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux 系统自带的组件(命令) \system\etc 从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。 \system\fonts 字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库,或一些unicode字库,从T-Mobile G1上可以清楚的看到显示简体中文正常,其中DroidSansFallback.ttf文件大小。 \system\framework framework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。 \system\lib lib目录中存放的主要是系统底层库,一些so文件,如平台运行时库。 \system\media \system\media\audio 铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音。 \system\sounds 默认的音乐测试文件,仅有一个test.mid文件,用于播放测试的文件。 \system\usr 用户文件夹,包含共享、键盘布局、时间区域文件等。 \system\app 这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。 \system\app\AlarmClock.apk 闹钟

ScatterFile分散加载文件及其应用

分散加载文件及其应用 分散加载能够将加载和运行时存储器中的代码和数据描述在被称为分散加载描述文件的一个文本描述文件中,以供连接时使用。 (1)分散加载区 分散加载区域分为两类: ? 加载区,包含应用程序复位和加载时的代码和数据。 ? 执行区,包含应用程序执行时的代码和数据。应用程序启动过程中,从每个加载区可创建一个或多个执行区。 映象中所有的代码和数据准确地分为一个加载区和一个执行区。 (2)分散加载文件示例 ROM_LOAD 0x0000 0x4000 { ROM_EXEC 0x0000 0x4000; Root region { * (+RO); All code and constant data } RAM 0x10000 0x8000 { * (+RW, +ZI); All non-constant data } }

(3)分散加载文件语法 load_region_name start_address | "+"offset [attributes] [max_size] { execution_region_name start_address | "+"offset [attributes][max_size] { module_select_pattern ["(" ("+" input_section_attr | input_section_pattern) ([","] "+" input_section_attr | "," input_section_pattern)) * ")"] } } load_region:加载区,用来保存永久性数据(程序和只读变量)的区域;execution_region:执行区,程序执行时,从加载区域将数据复制到相应执行区后才能被正确执行; load_region_name:加载区域名,用于“Linker”区别不同的加载区域,最多31个字符;start_address:起始地址,指示区域的首地址; +offset:前一个加载区域尾地址+offset 做为当前的起始地址,且“offset”应为“0”或“4”的倍数; attributes:区域属性,可设置如下属性: PI 与地址无关方式存放; RELOC 重新部署,保留定位信息,以便重新定位该段到新的执行区; OVERLAY 覆盖,允许多个可执行区域在同一个地址,ADS不支持; ABSOLUTE 绝对地址(默认); max_size:该区域的大小; execution_region_name:执行区域名; start_address:该执行区的首地址,必须字对齐; +offset:同上; attributes:同上; PI 与地址无关,该区域的代码可任意移动后执行; OVERLAY 覆盖; ABSOLUTE 绝对地址(默认); FIXED 固定地址; UNINIT 不用初始化该区域的ZI段; module_select_pattern:目标文件滤波器,支持通配符“*”和“?”; *.o匹配所有目标,* (或“.ANY”)匹配所有目标文件和库。 input_section_attr:每个input_section_attr必须跟随在“+”后;且大小写不敏感; RO-CODE 或CODE RO-DATA 或CONST RO或TEXT, selects both RO-CODE and RO-DATA RW-DATA RW-CODE RW 或DATA, selects both RW-CODE and RW-DATA ZI 或BSS

source Insight工程的说明

Source Insight工程的说明 说明:source insight 是我们在工作中最常用到的软件,它对我们查找函数,变量,修改代码起到了不可估量的作用。熟练运用source insight可以提高工作效率,了解整个工程的架构是很有帮助的。 一source Insight工程的建立步骤 1、打开source insight 如下图所示:

2、工程目录的旁边建立一个文件夹,名字为code_s(文件夹名字自己可以为任意,最好能够区 分工程)。 3、在source insight里面,状态栏上,根据如下顺序,建立工程project- new project,点击后如 下图所示:

在上图中,new project name : 创建你要建立的source insight 工程的名字。例如我们创建为M53_code. Where do you want to stor the project data files? 是我们要将创建的工程文件放入的路径是什么?我们选择刚才我们创建的code_s文件夹的路径。最后如图所示。 4、按OK后,进入如下图所示的界面。 在这个界面里,所有的选项我们都默认,但是选择工程路径是我们需要建立的工程路径。例如我们现在要建立的工程路径是F:\M53\code那么,我们就要选择我们的工程路径。如图下图所示

5、按OK,进入下一个窗口。如图所示。 我们选择,后,如下图所示, 我们在前面全部选择,然后按OK。进行搜索源工程文件,搜索完成后,如图所示。 工程不同,文件的数量不同。这里有7472个文件。我们按确定后,按close,关闭上述窗口。工程建立成功。 二source insight 工程与源工程同步 在上述,工程建立之后,由于我们需要在source insight修改的时候,修改源工程,那么我们需

vfp命令

? 在下一行显示表达式串 ?? 在当前行显示表达式串 @... 将数据按用户设定的格式显示在屏幕上或在打印机上打印 ACCEPT 把一个字符串赋给内存变量 APPEND 给数据库文件追加记录 APPEND FROM 从其它库文件将记录添加到数据库文件中 AVERAGE 计算数值表达式的算术平均值 BROWSE 全屏幕显示和编辑数据库记录 CALL 运行内存中的二进制文件 CANCEL 终止程序执行,返回圆点提示符 CASE 在多重选择语句中,指定一个条件 CHANGE 对数据库中的指定字段和记录进行编辑 CLEAR 清洁屏幕,将光标移动到屏幕左上角 CLEAR ALL 关闭所有打开的文件,释放所有内存变量,选择1号工作区 CLEAR FIELDS 清除用SET FIELDS TO命令建立的字段名表 CLEAR GETS 从全屏幕READ中释放任何当前GET语句的变量 CLEAR MEMORY 清除当前所有内存变量 CLEAR PROGRAM 清除程序缓冲区 CLEAR TYPEAHEAD 清除键盘缓冲区 CLOSE 关闭指定类型文件 CONTINUE 把记录指针指到下一个满足LOCATE命令给定条件的记录,在LOCATE命令后出现。无LOCATE则出错 COPY TO 将使用的数据库文件复制另一个库文件或文本文件 COPY FILE 复制任何类型的文件 COPY STRUCTURE EXTENED TO 当前库文件的结构作为记录,建立一个新的库文件 COPY STRUCTURE TO 将正在使用的库文件的结构复制到目的库文件中 COUNT 计算给定范围内指定记录的个数 CREATE 定义一个新数据库文件结构并将其登记到目录中 CREATE FROM 根据库结构文件建立一个新的库文件 CREATE LABEL 建立并编辑一个标签格式文件 CREATE REPORT 建立宾编辑一个报表格式文件 DELETE 给指定的记录加上删除标记 DELETE FILE 删除一个未打开的文件

WinCE中sources文件中targetlibs与sourcelibs的作用与区别

[原创] WinCE中sources文件中targetlibs与sourcelibs的作用与区别[复制链接] wwfiney 当前离 线 最后登录2011-12-23 在线时间488 小时权威 71 金币 1455 注册时间2009-2-9 阅读权限200 帖子 1286 精华 4 积分 1707 UID 86 管理员 权威 71 金币 1455 阅读权限200 积分 1707 精华 4 电梯直达 主题贴 wwfiney 发表于2009-2-11 17:23:04 |只看该作者|倒序浏览 在WinCE里面,编译和链接的必备文件sources,做过WinCE BSP开发的一定都很熟悉,其中有2个关键字,targetlibs和sourcelibs,一直让我对其中的区别很感兴趣,故查阅了一些资料,与大家分享。 其实只要搜索以下就会得到一些基本的答案,比如: TARGETLIBS,如果一个库以DLL的形式提供给调用者,就需要用TARGETLIBS,它只链接一个函数地址,系统执行时会将被链接的库加载。比如coredll.lib就是这样的库文件。即动态链接。 SOURCELIBS,将库中的函数实体链接进来。即静态链接,用到的函数会在我们的文件中形成一份拷贝。 这个答案已经基本解决问题了,但是这个答案让我们能看到更深入的东西: This is componentization feature of Windows CE. The link has two steps. First, whatever is in SOURCELIBS gets combined in a signle library yourproductname_ALL.lib. In the second step, executable module is linked from that library and all the targetlibs. This is done to allow stubs to be conditionally linked: if the function is defined into your source already, stubs get excluded. If it is not there, stubbed version (returning ERROR_NOT_IMPLEMENTED or something to that effect) gets linked in instead. If the link were to be performed in just one step, it would be impossible to predict which version (real or stub) would get included. As it is, implemented functions have a priority over stubs. -- Sergey Solyanik Windows CE Core OS 总的来说就是先编译了你自己在sources里指定的源文件,在链接阶段,先将所有的sourcelibs链接在一起成为一个lib,然后与targetlibs指定的lib一起参与链接。 当然这里targetlibs指定的可以是dll的lib文件,在CE的帮助文件中,

(完整版)Stata学习笔记和国贸理论总结

Stata学习笔记 一、认识数据 (一)向stata中导入txt、csv格式的数据 1.这两种数据可以用文本文档打开,新建记事本,然后将相应文档拖入记事本即可打开数据,复制 2.按下stata中的edit按钮,右键选择paste special 3.*.xls/*.xlsx数据仅能用Excel打开,不可用记事本打开,打开后会出现乱码,也不要保存,否则就恢复不了。逗号分隔的数据常为csv数据。 (二)网页数据 网页上的表格只要能选中的,都能复制到excel中;网页数据的下载可以通过百度“国家数据”进行搜索、下载 二、Do-file 和log文件 打开stata后,第一步就要do-file,记录步骤和历史记录,方便日后查看。Stata处理中保留的三种文件:原始数据(*.dta),记录处理步骤(*.do),以及处理的历史记录(*.smcl)。 三、导入Stata Stata不识别带有中文的变量,如果导入的数据第一行有中文就没法导入。但是对于列来说不会出现这个问题,不分析即可(Stata不分析字符串,红色文本显示;被分析的数据,黑色显示);第一行是英文变量名,选择“Treat first row as variable names” 在导入新数据的时候,需要清空原有数据,clear命令。 导入空格分隔数据:复制——Stata中选择edit按钮或输入相应命令——右键选择paste special——并选择,确定;导入Excel中数据,复制粘贴即可;逗号分隔数据,选择paste special后点击comma,然后确定。 Stata数据格式为*.dta,导入后统一使用此格式。 四、基本操作(几个命令) (一)use auto,clear 。在清空原有数据的同时,导入新的auto数据。 (二)browse 。浏览数据。

相关主题
文本预览
相关文档 最新文档