EDN首页   博客首页

最新日志

发表于:2008-9-5 17:09:58
标签:Bootloader,ARM,uboot,Linux,引导技术  

3

简单的嵌入式系统引导技术研究

共享一下这些文章,方便大家对bootloader进一步研究!

rar 电子软件开发 《技术聚焦》第 1 期 Boot Loader 专题 杂志

嵌入式系统引导技术研究

嵌入式系统Boot Loader技术内幕

如何开发自己的操作系统的引导程序


Linux bootloader 编写方法


UBOOT在普光ARM-9200嵌入式开发板过程


U-Boot的编译与移植到QT-S3C44B0X开发板上


U-Boot在44B0X开发板上的移植及代码分析


MPC8xx的U-Boot移植体会


一步一步教你在skyeye上运行uboot


用U-BOOT构建嵌入式系统的引导装载程序


常用U-BOOT命令介绍

点击此处查看原文 >>

系统分类: 嵌入式   |    用户分类:    |    来源: 原创

评论(0) | 阅读(108)
发表于:2008-7-15 12:34:09
标签:开始菜单程序为空  

1

开始菜单程序为空--解决方法,升级安装系统

开始菜单程序为空--解决方法,升级安装系统

2008年07月15日 星期二 12:31

昨天用VC++做个BHO插件的时候,不小心复制网上的代码,rgs文件含有非法字符,注册 组件时,把注册表弄乱了,某些项被删除了,郁闷 ....

俺的桌面回收站没了,开始菜单里的程序也没有了,......google baidu半天,未果....

自己 解决:

1,将原安装盘 i386目录拷贝到硬盘 d:\i386
2,运行d:\i386\winnt32.exe
3,选择升级安装.

半个小时后OK. 但是有些程序会被覆盖掉,比如IE7. 被覆盖的都是windows自带的.

点击此处查看原文 >>

系统分类: 软件开发   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(455)
发表于:2008-7-15 2:10:54
标签:BHO  VC++  

1

一个VC++ ATL BHO 例子

例子参考以下网址整理得来,也是俺的第一个BHO例子,需要的朋友自由下载!

http://dev.yesky.com/488/2528988.shtml 

点击下载点击左边图标下载源代码

点击此处查看原文 >>

系统分类: 软件开发   |    用户分类:    |    来源: 整理

评论(1) | 阅读(380)
发表于:2008-7-15 1:51:19
标签:BHO  注册失败  0x80020009  

1

BHO注册dll失败0x80020009的原因

BHO注册dll失败0x80020009的原因
2008年07月15日 星期二 01:46
 

rgs文件不正确,特别是在网上直接复制下来的文本,含有非法字符。 虽然能编译出DLL,但是regsvr32注册失败。

俺就是复制以下代码时含有非法字符:


HKLM
{
SOFTWARE
{
     Microsoft
     {
      Windows
      {
       CurrentVersion
       {
        Explorer
        {
         'Browser Helper Objects'
         {
          {10E1725C-7237-41A9-954A-04DCCB1FD16C}
         }
        }
       }
      }
     }
}
}

你是不是跟我一样,把跟头栽在这地儿了,呵呵,不要灰心,睡觉吧,明天再搞!

点击此处查看原文 >>

系统分类: 软件开发   |    用户分类:    |    来源: 原创

评论(2) | 阅读(425)
发表于:2008-7-10 14:44:10
标签:数字信号处理理论知识  DSP  

1

卷积/周期信号傅里叶级数表示

信号与系统/数字信号处理DSP 基础知识 整理笔记

1,系统/系统的响应

2,卷积

3,LTI系统对复指数信号的响应

3,周期信号的傅里叶级数表示

4,滤波器基础知识

点击此处查看原文 >>

系统分类: DSP   |    用户分类:    |    来源: 整理

评论(0) | 阅读(178)
发表于:2008-7-10 13:50:56
标签:ARM自学  笔记  

1

ARM自学之路-第一阶段开发板之旅

Self leanning note 之 初始化篇


根据我自己的学习经历,技术行业都是靠自学的。凡是进入了技术领域的同胞们,他们的自身最大核心竞争力就是自我学习能力。大家都知道技术革新速度之快,但是当所有旧的技术被淘汰之时,唯一留下的就是自己(的思想)。以下是我进入ARM技术领域的学习过程,不求详细,但求真实完整。经常抽时间写写总结,于己于人都是非常有益的。


编程基础背景


在学校时学过C语言, x86汇编。C语言这门课程对我的影响甚大,从它开始我就对编程产生了浓厚的兴趣。其实写C代码并不多,一直到工作之后的现在,我做过的项目里没有一个是用C写的。C语言方面的成果主要有两个,一是通过二级考试,二是通过计算机软件程序员资格考核,为了节省二十块钱,当时没拿证书。

出来工作后,在单位里面用汇编写了两年多,所以对MCU的汇编比较熟悉。


ARMLinux基础背景


毕业实习期间,在一家网络公司里面用过红帽子linux操作系统。因为服务器都是用linux系统,所以自己也知道一些常用命令。比如ls,cd ../, mv….对我最有用的命令莫过于startx

linux上用过skyeye仿真来仿真ARM,实际上ARM的学习也是这里开始的,但是都是跟着别人的说明一步步操作安装,除了写Helloworld之外,并没有做其他事情。现在要我在重新搭建一个skyeye的环境,还得两三天时间。其他ARM硬件完全没有接触。

看来自己的本钱并不多,一是当年扎实的C语言基础(现在好久没用C了),二是对8MCU汇编比较熟悉,三是有过linux操作基础,最后是自己浓厚的兴趣。


第一阶段,开发板之旅


1, 购买开发板


狠心要买个开发板了,经同学介绍,友善之臂不错。在网上找了一下,买了个s3c2440

1250块大洋。板子隔天就拿到手了,接上电源,看到漂亮的LCD界面,玩了半天的QT,给开发板接上网线,将路由设置为局域网同一网段,连接上googlebaidu163这些网站。后来跟着用户手册做了些开发板测试,再后来就不知道做什么了。于是想起了原来自己没有一点理论基础,什么都做不了。


2,到图书管借书去


       先后看了两本书,一本是ARM结构体系与编程,另一本是ARM嵌入式常用模块与综合系统设计实例精讲。说实话,这两本书对与初学者来说实用性也不怎么好。但是根据我自己的看书经验,往往只看一本书是不够的。同一个技术点,在不同的书籍和资料里面,解说的方式和程度是不一样的,只有将他们都结合起来思考,自己才能有更深一步的理解。

   通过阅读书籍和在网上搜索资料,主要学习了以下知识。

   1ARM的 汇编(伪)指令。这方面花了很多时间去学习,但是现在能记住的只有常用几条指令和几种基本的寻址方式。忘记了不要紧,用到的时候知道在哪里找回来就行了。 教模电的老师说过,出来后学东西不是为了应付考试,而是为了赚钱。很实际吧?我想他的意思就是说,学习的过程主要是理解的过程,最后记住该记住的,确实记 不住,以后用到的时候知道在哪里可以查找回来。重点在知识的应用。

       2)存储器重映射和bootloader的概念。一开始是看了周立功先生的资料,没搞清楚。后来也在网上找了一些资料,最后还是看了LPC2124的英文datasheet才理解的。

       3Keil环境和Proteus联机,这里主要用LPC2124,详细解读了LPC的启动代码。

       4elf镜像文件,加载地址和运行地址。

       等等。


3, 利用开发板做JTAG实验


先是按照用户手册一步步做,熟悉了ADS1.2的开发环境,以及一些编译和链接参数的设置,特别记得的是编译基址和入口点的设置。成功从零开始建立一个项目,并且通过H-JTAG下载到开发板的SDRAM空间运行。


4, 结合开发板的原理图和用户说明,阅读s3c2440的芯片规格书。


在这步骤里,主要是搞清楚了2440的启动方式和硬件地址。比如SROMNnad FlashNor Flash的实际地址。还有2440的启动方式控制,LED端口的地址,整个芯片的pin分布。


下一步开始,就要全面阅读s3c2440的规格书,参考别人的程序,写一些测试每种功能的代码,争取把这块片子的资源掌握,包括GPIOIICUART,等等。这些工作将在第二阶段实验中完成。(2008-5-10 bob.xue@163.com

点击此处查看原文 >>

系统分类: 嵌入式   |    用户分类:    |    来源: 原创

评论(0) | 阅读(255)
发表于:2008-7-10 13:44:21
标签:虚拟仪器  数据采集  matlab  声卡示波器  

1

声卡虚拟示波器-使用matlab DAQ工具箱中API实现

声卡有两个模拟输入接口,Line In 和麦克风;有一个声音输出 Line Out,即Speeker。两个输入口都可以用作虚拟示波器的输入。但是由于声卡的输入端与内部放大器之间存在一个耦合电容,限制了直流及低频信号的通 过,所以,声卡示波器只能采集交流信号。若要测量低频信号,可以使用幅度调制或频率调制的方法,通过一个较高频率的载波来实现。最后在软件处理是将低频信 号还原即可。


下面是matlab帮助文档中自带的一个例子。

You can run this example by typing daqdoc4_1 at the MATLAB command line.
创建一个设备对象,winsound 是指电脑上自带的声卡


AI = analoginput('winsound');


在对象中创建或增加一个信号通道,由于声卡只有左右两个通道,所以最多可以增加到2个通道


chan = addchannel(AI,1);


duration = 1; 采样一秒钟数据


设置采样频率为8KHz


set(AI,'SampleRate',8000)


由于有些声卡不一定支持用户设定的采样频率,所以最好取得系统实际可用的采样频率,以免出错。


ActualRate = get(AI,'SampleRate');


设置每触发一个采样后,需要采样多少个数据;这里的duration*ActualRate个数相当于1秒钟


set(AI,'SamplesPerTrigger',duration*ActualRate)


设置触发方式,这里设置了手动触发,即运行下面的trigger命令后,立即触发。


set(AI,'TriggerType','Manual')


可以下面的blocksize来分配内存空间


blocksize = get(AI,'SamplesPerTrigger');
Fs = ActualRate;


开始采样


start(AI)


现在手动触发


trigger(AI)


获取数据


data = getdata(AI);


完成采样以及信号处理之后需要删除和释放对象,以节省空间。


delete(AI)
clear AI

用户可以建立一个m文件来存放这些命令,然后在命令行中键入文件名即可运行这些命令,不必每次都重新输入。

点击此处查看原文 >>

系统分类: 测试测量   |    用户分类:    |    来源: 整理

评论(0) | 阅读(246)
总共 , 当前 /