随笔 - 342  文章 - 0 评论 - 49 阅读 - 147万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

02 2014 档案
X86架构与ARM架构比较
摘要:引言 CPU是怎样运作的? CPU的运作与人脑的运作差不多。先谈一下人这个系统的工作方式。眼镜、耳朵、舌头、皮肤等等感觉器官接收到“触觉”,把信息传给大脑,大脑把信息处理后,把处理结果送给手、脚、嘴等执行器官就可以运动了。 人脑的功能就是从某个感觉器官读取信息,处理信息,然后再把结果送给执行器官。 一个完整的系统与人这个系统差不多,传感器接收数据,再把数据传给CPU(CPU按照一定的时序、协议从内存读数据),CPU读取到数据并处理,把处理结果送给执行机构就行了(实际上CPU就是按照一定时序、协议向内存单元写数据)。 CPU从内存中获取数据,处理数据,再把结果送到内存中去。一、指令集架构... 阅读全文
posted @ 2014-02-28 13:44 amanlikethis 阅读(9814) 评论(0) 推荐(0) 编辑
研究不定数量参数的函数并实现一个printf函数
摘要:一、前提知识1、如何传递参数(主函数)a、函数的参数是通过栈传递,而且是从右到左依次入栈b、即使是char型变量,在传递参数时,也是占用两个字节,因为push操作是两个字节为单位的。 c、showchar('a',2)这样的传入两个常数,也会在堆栈中开辟两个空间,也即对应两个实参变量。2、函数如何接收参数(子函数)a、函数接受形参是通过从栈中取的b、通过BP可以找到传入参数的值,BP+4是第一个参数,BP+6是第二个参数......取参数是从左到右取的 3、如何释放参数(主函数) 释放参数可以通过多次pop来实现。有时是通过“add sp,+数值”来实现的。二、研究一个简单的不 阅读全文
posted @ 2014-02-27 20:15 amanlikethis 阅读(1633) 评论(0) 推荐(0) 编辑
TC2.0中怎样调用汇编程序
摘要:转载于:TC2.0中怎样调用汇编程序一、概述 TC是美国BORLAND 公司在IBM PC机上开发的一个高效、优化的C编译程序,它自带高效的全屏幕编辑程序,在集成开发环境下可支持编辑、编译、连接调试和运行等过程连续完成。 TC提供了与汇编语言的接口和在C程序中直接插入汇编指令代码的功能,支持以“远调用”和“近调用”方式来调用使用汇编语言编写的函数。 TC调用汇编语言函数时,对汇编语言的编写要求十分严格,并且对大小写字母也有严格的区分。如果在编写供TC调用的汇编函数时不按照规定好了的格式书写,调用是不会成功的。二、操作步骤下面先举一个在TC中调用汇编函数的例子,然后再详细讲解怎样做才能成功。步. 阅读全文
posted @ 2014-02-27 11:19 amanlikethis 阅读(757) 评论(0) 推荐(0) 编辑
通过搭建一个精简的C语言开发环境了解一个C程序的执行过程
摘要:一、如何搭建一个精简的C语言开发环境准备:下载TC2.0,并解压,比如说“d:\tc2.0\tc”目录1、在C盘建立一个目录minicc:\ md minic2、从解压的目录中将以下文件拷贝到c:\minic中 其中TC.EXE是在d:\tc2.0\tc目录下,而COS.OBJ、EMU.LIB、MATHS.LIB、GRAPHICS.LIB、CS.LIB是在D:\tc2.0\tc\lib目录中的。3、软件配置 选择菜单项“Options”中的“Directories”选项,对TC的工作路径进行设置,将所有的路径都设置为“c:\minic”。然后用“Save options”选项保存设置。 生.. 阅读全文
posted @ 2014-02-27 11:14 amanlikethis 阅读(943) 评论(0) 推荐(0) 编辑
用汇编语言研究C语言的全局变量、局部变量、参数、返回值放在哪里
摘要:前提知识 c0s调用main函数的地址: 11ah main函数的连接地址: 01fah一、全局变量与局部变量测试程序int a1,a2,a3;void f(void);void g(void);void h(void);main(){ int b1,b2,b3; a1 = 0xa1;a2 = 0xa2;a3 = 0xa3; b1 = 0xb1;b2 = 0xb2;b3 = 0xb3;}void f(void){ int c1,c2,c3; a1 = 0x0fa1;a2 = 0x0fa2; a3 = 0x0fa3; c1 = 0xc1; c2 = 0... 阅读全文
posted @ 2014-02-27 09:56 amanlikethis 阅读(8008) 评论(0) 推荐(1) 编辑
不定参数函数原理以及实现一个属于自己的printf函数
摘要:一、不定参数函数原理二、实现一个属于自己的printf函数参考博文:王爽汇编语言综合研究-函数如何接收不定数量的参数 阅读全文
posted @ 2014-02-27 09:51 amanlikethis 阅读(501) 评论(0) 推荐(0) 编辑
《汇编语言》课程设计
摘要:一、目的 知行合一,就是说学以致用。《汇编语言》这本书从13年春节开始看,中间由于众多事物中断,知道14年春节才看完。但是,百看不如一练,借着刚看完书,对汇编语言还很热的感觉,决定对书中最后的课程设计冲刺一下,作为这本书的结业课。二、课程设计内容1、题目阅读下面的材料:开机后,CPU自动进入到FFFF:0单元处执行,此处有一条跳转指令。CPU执行该指令后,转去执行BIOS中的硬件系统检测和初始化程序。初始化程序将建立BIOS所支持的中断向量,即将BIOS提供的中断例程的入口地址登记在中断向量表中。硬件系统检测和初始化完成后,调用int 19h进行操作系统的引导。如果设为从软盘启动操作系统,则i 阅读全文
posted @ 2014-02-25 10:17 amanlikethis 阅读(1281) 评论(0) 推荐(0) 编辑
养成编写一个函数的良好风格
摘要:1、分析功能,确定输入、输出参数,确定函数功能2、设计算法,编写简要流程图3、编写程序4、进行注释 阅读全文
posted @ 2014-02-24 16:59 amanlikethis 阅读(353) 评论(0) 推荐(0) 编辑
在uboot上创建菜单
摘要:一、原理 菜单其实就是一个uboot中的命令,和其他的命令没有什么差别。 uboot启动时,如果进入uboot命令模式,先运行这个命令,就会打印出一个菜单界面。 在uboot的命令模式,通过键入“menu”命令,同样可以调出这个界面。二、操作步骤1、在common目录下创建cmd_menu.c内容如下:#include #include #ifdef CONFIG_CMD_MENU#define USE_TFTP_DOWN 1#define USE_USB_DOWN 2extern char console_buffer[];/* * Reads and ret... 阅读全文
posted @ 2014-02-24 16:49 amanlikethis 阅读(1579) 评论(0) 推荐(0) 编辑
uboot移植参考资料
摘要:参考文档:移植u-boot-1.1.6到TQ2440文档.pdf参考网页:uboot在S3C2440上移植《出自超哥(相广超)》 阅读全文
posted @ 2014-02-21 19:43 amanlikethis 阅读(297) 评论(0) 推荐(0) 编辑
笔记本无线网卡和有线网卡同时使用时发生的事
摘要:一、情况描述 笔记本一直用的是无线上网。因为学习原因,需要将计算机的网卡接口连接到路由器上。这样不打紧,电脑不能上网了。 查看无线网络连接状态也显示正常连接,但是就是不能上网,实在是郁闷。二、猜测原因 后来,想到也许计算机上网时,只允许一个网卡工作,因为否则你计算机的IP地址是两个。发生这样的事,可能是多网卡同时工作产生了冲突。三、解决办法 将计算机与路由器之间的网线断开连接。四、后记 笔记本无线网卡和有线网卡同时使用时,将会发生很多麻烦。1、本来用无线上网,由于接入了有线连接,导致现在不能上网了2、无线上网着,现在想做有线连接实验,结果和虚拟机网络ping不通(这在没有无线上网的时... 阅读全文
posted @ 2014-02-21 15:04 amanlikethis 阅读(842) 评论(0) 推荐(0) 编辑
uboot使用tftp下载时出现“checksum bad”问题原因分析
摘要:一、问题二、原因分析你的虚拟机是不是这样设置的呢?如果是的话,请看下边的解释: 使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机(比如说我们的开发板)进行通讯。三、解决方法请见在linux下实现UBOOT的TFTP下载功能。参考网页:VMware网络配置详解 阅读全文
posted @ 2014-02-21 11:21 amanlikethis 阅读(1314) 评论(0) 推荐(0) 编辑
在linux下实现UBOOT的TFTP下载功能
摘要:一、环境1、条件软件:虚拟机下linux(本文涉及到的是Ubuntu12.0.4)、 linux下的串口助手(例如minicom)或windows下的串口助手(例如超级终端、SecureCRT)硬件:TQ2440开发板、串口、网线(两根)、路由器2、串口助手选择 虽然是在虚拟机linux操作系统下实现TFTP的下载,但串口调试助手没必要是linux下的。实现这个功能的关键在于在linux操作系统下搭建一个TFTP服务器,而串口只是开发板提供给人控制的一个界面,选择windows下的串口也行。 事实上,本人觉得minicom并不好用,先不说界面反人类认知观,主要问题在于它对USB转串口... 阅读全文
posted @ 2014-02-21 11:17 amanlikethis 阅读(6918) 评论(0) 推荐(0) 编辑
在Ubuntu12.0.4下搭建TFTP服务器
摘要:一、安装相关安装包tftpd(服务端),tftp(客户端)sudo apt-get install tftp-hpa tftpd-hpa安装xinetdsudo apt-get install xinetd二、配置tftp服务器1、修改/etc/default/tftpd-hpa$sudo vim ... 阅读全文
posted @ 2014-02-21 09:51 amanlikethis 阅读(1988) 评论(0) 推荐(0) 编辑
windows下实现uboot的tftp下载功能
摘要:一、原理分析 带有uboot的开发板实际上充当的就是tftp客户端,而PC机扮演的角色就是tftp服务器端,而tftp下载功能实际上就是文件传输。tftp服务器可以建立在虚拟机linux下,也可以建立在windows下,只要你能提供一个tftp服务器就行。有了这些条件,只要网络畅通(硬件连接),就能实现tftp的下载功能。二、操作步骤1、硬件连接2、在windows下搭建tftp服务器3、配置uboot的网络参数4、下载三、硬件连接方式一:将开发板和PC机的网线都接在路由器的非入口(WAN)端。方式二:直接用一根网线将PC机和开发板的网卡连接在一起四、在windows下搭建tftp服务器 在. 阅读全文
posted @ 2014-02-21 09:07 amanlikethis 阅读(2903) 评论(1) 推荐(0) 编辑
E: Some packages could not be authenticated
摘要:问题: 在Ubuntu上,安装软件时出现了“E: Some packages could not be authenticated”错误。原因: 表示系统无法验证这个软件包. 要想验证这个软件包, 则需要安装debian的公钥。深层原因: Debian的公钥有效期是1年, 也就是说没隔1年需要更换一次公钥.解决方法: 安装公钥,,使用命令“#apt-get update”更新apt源。参考资料:Debian中SecureApt的使用 阅读全文
posted @ 2014-02-20 12:42 amanlikethis 阅读(3123) 评论(0) 推荐(0) 编辑
find_cmd函数分析
摘要:一、概述1、函数位置 common/command.c2、函数功能分析 解析命令的关键环节是如何根据输入命令查找对应命令的信息,从而跳转到对应命令的函数处执行程序。这必然涉及到如何存放命令的详细信息这个问题。因为一种存法,对应一种查法,进而取法。也就是说,实际上是两个问题:(1)命令的详细信息是如何存放的(2)如何在命令存储区查找是否有与输入命令匹配的命令 就这两个问题,我们来分别分析uboot的设计方法。二、".u_boot_cmd"环境变量存储区1、命令详细信息存储结构体struct cmd_tbl_s { char *name; /* Command Name ... 阅读全文
posted @ 2014-02-19 18:06 amanlikethis 阅读(899) 评论(0) 推荐(0) 编辑
run_command函数分析
摘要:一、概述位置:common/main.c功能:根据传入参数(命令),在命令存储区(.u_boot_cmd)中查找对应的命令,找到命令并调用对应的函数执行流程:二、分析1、函数说明信息/***************************************************************************** returns:* 1 - command executed, repeatable* 0 - command executed but not repeatable, interrupted commands are* always considered n 阅读全文
posted @ 2014-02-19 16:21 amanlikethis 阅读(3018) 评论(0) 推荐(0) 编辑
readline函数分析
摘要:函数功能:提示用户输入命令,并读取命令/****************************************************************************//* * Prompt for input and read a line. * If CONFIG_BOOT_RETRY_TIME is defined and retry_time >= 0, * time out when time goes past endtime (timebase time in ticks). * Return: number of read characters 阅读全文
posted @ 2014-02-19 15:35 amanlikethis 阅读(2667) 评论(0) 推荐(0) 编辑
ASCII码表
摘要:一、概述 美国信息交换标准码是由美国国家标准学会(AmericanNationalStandardInstitute,ANSI)制定的,标准的单字节字符编码方案,用于基于文本的数据。起始于50年代后期,在1967年定案。它最初是美国国家标准,供不同计算机在相互通信时用作共同遵守的西文字符编码标准,它 阅读全文
posted @ 2014-02-19 15:24 amanlikethis 阅读(729) 评论(0) 推荐(0) 编辑
uboot main_loop函数分析
摘要:一、概述 main_loop()函数做的都是与具体平台无关的工作。主要包括的工作如下:(1)初始化启动次数限制机制(2)Modem功能(3)设置软件版本号(4)启动延迟(5)读取命令,解析命令二、具体分析void main_loop (void){#ifndef CFG_HUSH_PARSER static char lastcommand[CFG_CBSIZE] = { 0, }; int len; int rc = 1; int flag;#endif#if defined(CONFIG_BOOTDELAY) && (CONFIG_BOOTDELAY >= 0) ch 阅读全文
posted @ 2014-02-19 11:09 amanlikethis 阅读(6481) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示