- 博客(269)
- 资源 (3)
- 收藏
- 关注
转载 ecos的中断ISR是怎么与硬件中断向量联系起来的,是怎么被调用的?
本文整理自:http://keendawn.blog.163.com/blog/static/8888074320116205833478/要想知道ecos的中断ISR是怎么与硬件中断向量联系起来的,是怎么被调用的?那就要看下面这两个关键的函数:cyg_drv_interrupt_create()cyg_drv_interrupt_attach()复制代码
2014-02-28 18:34:29
2678
3
转载 eCos与uC/OS-II内核实现的比较
=======================线程结构信息:eCos使用cyg_thread类表示线程,用cyg_thread_info结构存储线程信息,而UC/OS使用TCB结构表示任务=======================调度单位:eCos调度以线程为单位,状态有CREATING SUSPENDED RUNNING(包括准备运行和正在运行) SLEEPSET(包括S
2014-02-28 17:43:21
1215
转载 ARM Architecture C 语言寻址解析—— 从U-Boot relocation所展开的探索(三)
ARM Architecture C 语言寻址解析——从U-Boot relocation所展开的探索(三)by LazyCatDesignwww.lazycatdesign.comARM Architecture C语言PIC寻址方式解析(续)继续讨论上一篇文章的问题,GOT所记录的是C的对象地址,但一个工程中往往还存在汇编代码定义的变量(事实上汇编语言中并不存在“
2013-11-22 16:29:41
1342
转载 ARM Architecture C 语言寻址解析—— 从U-Boot relocation所展开的探索(二)
ARM Architecture C 语言寻址解析——从U-Boot relocation所展开的探索(二)by LazyCatDesignwww.lazycatdesign.comARM Architecture C语言PIC寻址方式解析承前文所述,可不可以产生一种可以运行在任意地址段的代码呢?可以,这种代码被称之为Position-Independent Code
2013-11-22 16:27:46
1022
转载 ARM Architecture C 语言寻址解析—— 从U-Boot relocation所展开的探索(一)
转自:http://blog.sina.com.cn/s/blog_9ddd009b0100z79p.htmlARM Architecture C 语言寻址解析——从U-Boot relocation所展开的探索(一)by LazyCatDesignwww.lazycatdesign.com文章的名字有点长也有点拗口,但它却很好的表达了本文的主题和来历
2013-11-22 16:23:36
1172
转载 看丰田凯美瑞发生暴冲的可能原因, 总结嵌入式编程教训,经验
标题还是自己写的, 内容是转载的。 【第一部分】背景简介 前几年闹得沸沸扬扬的丰田刹不住事件最近又有新进展。十月底俄克拉荷马的一次庭审,2007年一辆2005年凯美瑞暴冲(Unintended Acceleration,UA)致一死一伤事件中丰田被判有责。引起广泛关注的是庭审中主要证人MichaelBarr的证词让陪审团同意丰田的动力系统软件存在巨大漏洞可能导致此类事件
2013-11-12 11:24:26
3790
原创 USIM 相关知识,术语
通常SIM(USIM)卡内的数据包括IMSI、ICCID、Ki(2G)、Key(3G)、OPC(3G)、PIN、PUK、OTA、JAVA应用等多种数据。 SIM卡内的数据主要分为索引数据、业务数据、鉴权数据和位置数据四类。索引数据包括ICCID;业务数据包括IMSI、PIN、PUK、OTA菜单、JAVA应用数据;鉴权数据包括IMSI、 Ki(2G) Key(3G)、OPC(3G)、A3
2012-12-05 10:12:57
3310
转载 eCos中的线程与同步
分类: operating system2011-03-26 15:28 199人阅读 评论(0) 收藏 举报公司开发目前正从eCos移到嵌入式Linux,不过,我们得先熟识目前的平台eCos,毕竟要靠它完成毕设。eCos上的线程部分是一个重点,把学习后的一点笔记记下,一来加深记忆,二来写出来也让自己以后方便回顾。 先看一下eCos线程的创建、控制以及优先级的操作这三个方面
2012-01-29 11:05:58
5467
转载 对ARM紧致内存TCM的理解
对ARM紧致内存TCM的理解紧致内存是指片上快速存储区,与片上缓存具有同等的性能,但因为程序可完全控制紧致内存,因而比统计复用的缓存有更好的可预测性。这是ARM5TE引入的特性,目的是通过这一快速的存储区,一方面提高某些关键代码(如中断处理函数)的性能,另方面使存储访问延迟保持一致,这是实时性应用所要求的。ARM6对TCM操作做了进一步的规范。TCM的应用领域:可预测的实时
2011-11-15 11:18:54
1596
原创 DMA 是什么以及如何工作的
转自: http://www.cublog.cn/u/28528/showart_218950.html直接内存存储 (Direct Memory Access - DMA) 是一种计算机内数据传输的模式,它不需要中央处理器 (CPU)
2011-08-15 19:13:53
8463
转载 Window Stations 和桌面
装载于:http://hi.baidu.com/175943462/blog/item/71bda735bc841242241f145a.htmlWindow Stations 和桌面2010-03-27 01:01Window stations 和桌面可能是Windows NT
2011-07-19 15:16:17
704
转载 SHA1算法实现及详解
SHA1算法实现及详解1 SHA1算法简介安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来
2011-06-07 18:24:00
1513
转载 cmd 重定向
关于cmd命令的重定向输出 ,例如ping 192.168.1.254 > e:/test.txt, 并ping命令结果输出到e/test.txt文件中
2010-10-21 14:21:00
18423
原创 对于if ...else if .... 分支太多的问题
在移植一个项目代码从c 转换到 C++时, 有一个if ...else if 分支很多代码块, C编译器可以过, C++编译器不能够, 好像分支是超过200多时, 就不能编译过去了。网上也有一些方法,比如:把每个分支封装成一个函数, 当前一个分支执行完后调用另一个函数。但这样少的话,可以, 太多的话, 工作量也很大。我是这样做的,在每个else if 分支块的末尾,添加go to 语句,跳出这个if else if ...代码块, , 在我这个项目中,因为if ... else if .. 外层是
2010-09-29 14:23:00
2611
1
转载 解决Visual C++ 编译器中混合 .c 文件时收到 C1853 预编译头错误的方法
当项目中混合了 .cpp 和 .c 文件时,编译器会对它们采取不同的编译方式(主要是因为对函数声明的处理方式不同),因而不能共用一个预编译头文件。在 VC++ 中,默认的预编译头文件是针对 C++ 的 (stdafx.h 和 stdafx.cpp),当然也可以创建针对 C 的预编译头。
2010-09-25 10:08:00
729
转载 Linux―“线程”控制与“线程”通信编程
本章讲述了Linux下多线程的控制及线程间通信编程方法,给出了一个生产者/消费者的实例,并将Linux的多线程与WIN32、VxWorks多线程进行了类比,总结了一般规律。鉴于多线程编程已成为开发并发应用程序的主流方法,学好本章的意义也便不言自明。
2010-07-02 17:07:00
632
转载 linux 下线程使用(使用pthread_create)
线程创建的Linux实现我们知道,Linux的线程实现是在核外进行的,核内提供的是创建进程的接口do_fork()。内核提供了两个系统调用__clone()和fork (),最终都用不同的参数调用do_fork()核内API。当然,要想实现线程,没有核心对多进程(其实是轻量级进程)共享数据段的支持是不行的,因此,do_fork()提供了很多参数,包括CLONE_VM(共享内存空间)、CLONE_FS(共享文件系统信息)、CLONE_FILES(共享文件描述符表)、CLONE_SIGHAND(共享信号句柄
2010-07-02 16:53:00
1194
转载 cache工作原理
Cache的工作原理 1.Cache的引入 2.Cache的基本原理 Cache与主存都分成块(常常将Cache块说成Cache行),每块由多个字节组成,大小相等。在一个时间段内,Cache的某块中放着主存某块的全部信息,即Cache的某一块是主存某块的副本(或叫映像),
2010-06-09 10:11:00
4512
转载 翻译 EHCI SPCE 4 CHAP
4.1 主控初始化系统启动时,主控被枚举,分配一个基地址给寄存器空间,BIOS设置FLADJ寄存器一个特有的值。在加电或者HCResst(硬件或者通过USBCMD寄存器的HCReset位),所有的操作的寄存器被设置成默认的值,硬件复位后,只有不包含在Auxiliary power(辅助电力)中的操作寄存器是默认值。为了初始化主控,软件要做下面步骤a)给CTRLDSSEGM
2010-05-07 15:05:00
1976
转载 understanding linux usb ehci device driver(2)
understanding linux usb ehci device driver(2) understanding linux usb ehci device driver(2)lm_tom@163.com2. linux ehci device driver(ehci hcd)2.1. linux usb subsystem arch overview(host)
2010-04-23 11:24:00
3624
转载 understanding linux usb ehci device driver(1) 1
转自: http://www.diybl.com/course/6_system/linux/Linuxjs/2007917/71729.html 大概一年多前,曾经在linux下调试过VIA的一款ehci host controller,当时受项目进度以及知识积累所限,未能深入理解EHCI以及linux下的软件层面实现. 随着个人USB技术的不断积累, 近期在工作之余, 写
2010-04-06 14:26:00
3633
转载 IP helper: GetIfTable 函数可以得到很多网络状态信息:网络流量,网络状态等:
GetIfTable, 编程实现查询网络状态[含c代码] 前两天因为其他原因需要编写一段查询网络状态的代码,一开始的想法是查询注册表中的某个键值,后来查了老半天,虽然找到了那个键,但是比较麻烦,我在这里就不再赘述了,有兴趣的可以上网查相关的资料。如果你找不到,也可以给我消息,我可以提供给你。因为查询注册表的方法实在麻烦,就转向与其它的方法获取网络状态。也就是确认网络的连通性如何。后
2010-03-25 10:22:00
9949
2
原创 WINCE: TARGETTYPE=NOTARGET 的作用
有时候我们的驱动是别人提供好的dll文件,编译的时候只要把这个dll或者其他文件拷贝到release目录就可以了,但是如果驱动目录里面没有源文件,sources文件容易造成错误其实拷贝的动作是makefile文件来做的 我们在驱动目录里面只要放3个文件1 makefile文件内容就是一般的makefile文件2 makefile.inc这个是真正拷贝动作的
2010-03-24 10:46:00
966
原创 ubuntu: 配置网络方法
对 ubuntu不熟悉,前几天装了一个学习, 第一步装上后,就是配置网络,安装软件 1. 配置网络方法: 设置IP地址好像不能在界面管理工具上。 需要如下: Sudo vi /etc/network/intefaces添加Auto eth0Iface eth0 inet Address NewworkNetmaskGete
2010-03-24 10:24:00
701
原创 如何去掉: warning C4996:
有时候去掉很多的不必要的警告信息,可以更关注其他的警告信息 1.在项目的stdafx.h中寻找#pragma once语句,在它的后面加入如下所示的宏定义 : #define _CRT_SECURE_NO_DEPRECATE 2.在项目的stdafx.h中寻找#pragma once语句,在它的后面加入如下所示的编译控制语句 : #pragma warning(d
2010-03-24 10:09:00
4586
原创 WINCE6: MFC支持
CE6 其实支持MFC的,但生成SDK时,没有相关的选项, 要自己把相关的库,文件加进去. 方法2: 开发平台由Windows CE.NET转到Windows Embedded CE 6.0,所以操作系统要重新定制。因为之前的程序几乎清一色的都是基于MFC的,所以新系统中要加入MFC的支持。找遍Applicati
2010-03-24 10:06:00
3023
原创 WINCE : 如何解决 ToolMsmCA(Error):Setup package issue or CoreCon DataStore corrupted:CDeviceSDKInstallShim Add/Remove failed.HR=0x80
不知道改了什么东东,导致任何BSP都编译不能通过了,提示: ToolMsmCA(Error):Setup package issue or CoreCon DataStore corrupted:CDeviceSDKInstallShim Add/Remove failed.HR=0x80004005 并且远程连接工具也能用了。 后来按照下面的步骤可以解决:
2010-03-24 09:56:00
3730
2
原创 SSH Client : putty 移植
项目中需要用的SSH Clinet, 就用下了个putty的开源代码, 对其进行了修改。代码可以在OpenSSH的网站下载www.openssh.org(开放源码的OpenSSH组织的网站)。 虽然原来的windos下的工程是用vc6创建的,但VS2005可以直接进行编译没问题。 VC6编译需要修改:1. 定义 #define SHGFP_TYPE_CURRE
2010-03-24 09:43:00
1479
1
原创 IPHELPER windos
iphelper About IP HelperInternet Protocol Helper (IP Helper) assists network administration of the local computer by enabling applications to retrieve information about the network configu
2010-03-24 09:34:00
821
转载 c++单件实例模式的实现 及其多个单件子类
转至:http://www.cppblog.com/ElliottZC/archive/2007/07/20/28421.html 1. 意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点。2. 动机 对一些类来说,只有一个实例是很重要的。虽然系统中可以有许多打印机,但却只应该有一个打印假脱机( printer spooler),只应该有一个文件
2010-01-25 10:23:00
1578
1
转载 BIN文件与NB0的区别
用PB编译的镜像文件,一般都会同时以BIN文件和NB0文件两种形式给出。 NB0文件是地址空间的一个完整的映像文件,相当于地址空间的硬拷贝。 BIN文件是一种二进制ROM映像文件格式,同NB0文件相比,它压缩了无效的数据。BIN文件中包含了文件头和许多的段,每个段都给出了在实际映像中的首地址、长度、校验码和数据。BIN文件的详细格式如下:文件头(长度:7字节,内容固定),相当于
2010-01-20 16:58:00
1401
原创 CE R3 : 关于don't know how to make atlsd.lib 错误
安装R3后,发现简单的device emuloter 的工程都编译不过去了, 提示dont know how to make atlsd.lib 错误, 后来发现在catalog view 中吧 Active Temlate Library 选择上就可以了。 还有一个疑问就是如果我不需要ATL,也需要把这个选择吗
2010-01-14 16:03:00
1387
原创 ar6k_ndis.lib(miniport.obj) : error LNK2001: unresolved external symbol NDIS_BUS_DRIVER
AR6000 FOR CE. 用PB6 编译DEVICEEMULATOR的设备时, 发现编译debug版本时ar6k_ndis.lib(miniport.obj) : error LNK2001: unresolved external symbol NDIS_BUS_DRIVER错误,而release版本就不会出错。 在catalog view 里我也没有选择AR6
2010-01-14 14:43:00
692
1
转载 WINCE5.0的中断深入了解
WINCE5.0的中断深入了解1.总体了解流程首先描述wince5.0 (2440BSP)的中断流程:流程1.创建事件aà创建线程ISTà用InterruptInitialize〈系统中断号绑定线
2009-12-23 11:28:00
551
tcc-0.9.25-win32-bin
2011-08-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人