搜索
bottom↓
回复: 258

5天了,说好发帖的,刚学5天就发帖,我承认我是来挨拍的,呵呵。新买友善mini2440的进来聊聊

[复制链接]

出0入0汤圆

发表于 2009-4-6 15:11:28 | 显示全部楼层 |阅读模式
学了5天Arm,今天谈谈初学感受



一.初探
     4月1日入手友善mini2440。先看了下板子,感觉没什么稀奇的,s3c2440总线上外挂SDRAM(对这个不是很感冒,之前搞过一个FPGA的SDRAM控制器),NOR    .   flash,Nand Flash, Enternet PHY +MAC芯片。心里视乎有点数了--------程序烧在Flash里,上电后s2c2440把代码从Flash调入DRAM执行…..直觉上想.  .   到应该有一个程序来完成copy的事,但是这个程序本是如何被最先调入Dram的呢(后边谈)。
.   接着打光盘里友善的手册,大致翻了一下,发现说的全是基于操作系统的编程和一点基本的操作,对初学的我来说掩盖了太多底层的细节。

.   本人专业是电气工程及其自动化,结合自己的情况我觉得应该先把Arm当单片机使更合适些。

     1.        基于上边的想法我应该先从硬件上入手

       (1)先搞清S3C2440里边到底有什么东西,是什么东西?不用说直奔Datasheet去了。
            手册里的一张图解决了我的疑问

         
(原文件名:s3c2440.JPG)

          S3C2440 = Arm920T + 挂在AHB上的一堆东西 + 挂在APB上的一堆东西
          ARM920T = ARM920TDMI + 一堆东西

          S3C2440里的外设都还好搞定,照着Datasheet来就行了。

         下边重点落到了ARM920T上
       (2)了解ARM920T
            明确目的后直奔www.arm.com  点击Documention链接

          
(原文件名:arm header.JPG)
         
          资料前几天已经上传
          http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=3275791&bbs_page_no=1&bbs_id=1032
        

(原文件名:arm9TRM.JPG) 原来ARM920T = ARM9TDMI(CPU 核心) + MMU(内存管理单元-------内存保护,地址映射)

        在ARM920T_TRM1_S.pdf里了解到
        
(原文件名:what is ARM920T.JPG)

         到此为止我已经有了S3C2440的总体概念

          S3C2440 = ARM9TDMI + MMU + 与AHB(高级高性能总线)互联的外设 + 与APB(高级外设总线)互联的设备

二.整理思路,制定学习计划
       
       1 .硬件上
         Ok现在基本上搞清状况了,至少知道自己在和什么东西打交道,思路清晰后我理出学习计划:
        (1)学习S3C2440的使用,须从ARM9TDMI开始,具体的说ARM9TDMI的指令集,寻址方式……处理器状态,中断等(练习通过ADS在计算机上仿真)   .         

        (2)学习与ARM9TDMI 相伴左右的MMU的知识,如何实现能内存保护,虚地址到物理地址转换…..从这几天的研究看这些主要是通过协处理器CP15控制  .            的。
               
           (前边说了ARM920T = ARM920TDMI + MMU 上边的搞定了ARM920T自然也就搞定了)

        (3)学习S3C2440内外设的使用如lcd控制器,看门狗,定时器,实时钟,usb…..主要是S3C2440 Datasheet里的内容了,可以针对每个单独外设编写    .            程序练习。先学串口的使用,这对后边的的学习帮助较大,因为把程序运行结果从串口发到PC验证程序比较方便。

       2. 软件上
         既然选了带MMU的ARM就一定是想跑操作系统的
         我计划是Linux方向
        (1)(偏硬方向)Liunx基本操作(命令行)----一般Linux程序设计------Linux驱动编写----软件移植-----内核移植
        (2)(偏软方向)Linux基本操作(命令行)---一般Linux程序设计-------网路编程,qt图形界面编程……
           (需要有基础知识--------汇编,C,c++,操作系统…)

       3. 工具链使用
       
        (1)编程工具       
             Windows平台下:
                Windows平台下好想主要有这几种IDE:ads,keil,iar       
                初期学习选择最不方便的-------ADS(当然还有更不不方便的比如直接在命令行编译,汇编,链接)


             Linux平台下:
                Gcc,汇编器,链接器使用

        (2)调试工具
             mini2440自配的H-JATG, Jlink等调试器代理的使用和在IDE中如何配置



           以上是我的学习思路和计划

三.寻找最初成就感
    上边说了,我准备先把S3C2440当单片机用,下边是我的第一个Arm程序-------Led流水灯


        运行平台:                友善mini2440
        是否需要操作系统支持:        否

        根据mini2440开发板光盘程序稍作修改所得

        点击此处下载 ourdev_433343.rar(文件大小:63K) (原文件名:Led.rar)
        程序很简单,最难的就是启动代码那块(直接用的光盘里的启动代码,最近在研究启动那块),其实启动代码本身并不难,就是完成以下几个功能
         1.初始化堆栈,
         2.设置中断,
         3.初始化外设,时钟
         4. 切换处理器模式
         5.跳转到用户程序入口

       程序可以直接通过supervivi下载到内存运行,因为程序小于4K所以也可以直接烧在Nand flash运行
      (因为S3C2440支持从Nand引导,片内带有4kSRam用 于运行bootloader,就是前边说的用来copy的一小段bootloader)

       arm的指令集还不熟,独立写一个启动代码还不行,过几天吃透了,单独发一贴谈谈启动代码。



         刚学5天,也不可能有太大进展,主要用这几天理清思路,欢迎大虾指正!

阿莫论坛20周年了!感谢大家的支持与爱护!!

如果想吃一顿饺子,就得从冰箱里取出肉,剁馅儿,倒面粉、揉面、醒面,擀成皮儿,下锅……
一整个繁琐流程,就是为了出锅时那一嘴滚烫流油的热饺子。

如果这个过程,禁不住饿,零食下肚了,饺子出锅时也就不香了……《非诚勿扰3》

出0入0汤圆

发表于 2009-4-6 15:26:02 | 显示全部楼层
支持一下

出0入0汤圆

发表于 2009-4-6 15:34:37 | 显示全部楼层
非常不错了。

出0入0汤圆

发表于 2009-4-6 15:56:35 | 显示全部楼层
关注,向楼主学习,呵呵

出0入0汤圆

发表于 2009-4-6 16:20:06 | 显示全部楼层
好好学习!

出0入90汤圆

发表于 2009-4-6 16:26:13 | 显示全部楼层
楼主终于回来了!看来是有基础的人啊,不是从0开始的。我也想看看怎么写启动代码1
头像被屏蔽

出0入0汤圆

发表于 2009-4-6 16:48:21 | 显示全部楼层
Cool !

出0入0汤圆

发表于 2009-4-6 17:12:37 | 显示全部楼层
LZ厉害啊,这么快就上手了。

向楼主学习!

出0入0汤圆

发表于 2009-4-6 17:15:10 | 显示全部楼层
楼主这几天是不是在猛看资料啊。。。:)

出0入0汤圆

发表于 2009-4-6 17:18:28 | 显示全部楼层
轻轻拍一下,楼主做得好

出0入0汤圆

发表于 2009-4-6 22:05:14 | 显示全部楼层
巧了,我也是最近开始用友善之臂的板子,arm是一个新的天地,我这几天看得太多了,有点消化不良啊。。
楼主加油,小弟学得也不慢,一个月后跟楼主比比,嘿嘿。

出0入0汤圆

发表于 2009-4-6 22:09:43 | 显示全部楼层
这论坛那个电子眼邮箱很不错哈,刚跑了一遍,感觉良好。推荐~

出0入0汤圆

发表于 2009-4-6 22:32:12 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-4-6 23:12:22 | 显示全部楼层
买了板子已有几周,清明期间才开始
任重而道远呀。。。

出0入0汤圆

发表于 2009-4-6 23:17:32 | 显示全部楼层
学习习惯好好啊!

出0入0汤圆

发表于 2009-4-7 08:26:20 | 显示全部楼层
支持,楼主加油

出0入0汤圆

发表于 2009-4-7 08:41:59 | 显示全部楼层
思路清晰,不简单,顶一个

出0入0汤圆

发表于 2009-4-7 08:42:21 | 显示全部楼层
肯定是有基础的,佛恩泽学习不会是这个思路,期待下文。

出0入0汤圆

发表于 2009-4-7 10:08:43 | 显示全部楼层
好,太棒了,有个学习的方向了

出0入0汤圆

发表于 2009-4-7 10:49:25 | 显示全部楼层
楼主很积极

出0入0汤圆

发表于 2009-4-7 11:19:00 | 显示全部楼层
我也看上了友善的ARM2440开发板,不过想要那个Micro2440的,最近就会出手。

出0入0汤圆

发表于 2009-4-7 16:09:21 | 显示全部楼层
同用mini2440.。。。。

出0入0汤圆

发表于 2009-4-7 21:30:04 | 显示全部楼层
友善mini2440
顶LZ

出0入0汤圆

发表于 2009-4-8 17:29:01 | 显示全部楼层
楼主5天做的事情我做了二个月,哎~~

出0入0汤圆

发表于 2009-4-8 18:11:52 | 显示全部楼层
也支持一个

出0入0汤圆

发表于 2009-4-8 20:03:16 | 显示全部楼层


我断断续续5个月才搞定的事

楼主5天就搞定了

希望楼主继续发帖子

引领我们

出0入0汤圆

发表于 2009-4-8 20:39:05 | 显示全部楼层
你的工作昨晚俺也做了
能不能上个汇编地led流水灯啊
大家都同是mini2440的板子哦
AREA SAMPLE,CODE,READONLY
ENTRY

START

    LDR   R0,=0X3D57FF        ;set PBCON gpio
    LDR   R1,=0X56000010        ;address of PBCON
    STR   R0,[R1]
         
    LDR   R0,=0xffffffff        ;set all of gpio to output
    LDR   R1,=0x56000018               ;IO0DIR地址  
    STR   R0,[R1]               ;

LOOP
    LDR   R0,=0x55555555        ;interval HI out
    LDR   R1,=0x56000014        ;address of PBDATA  
    STR   R0,[R1]  
     
    LDR   R0,=0XAAAAAAAA
    LDR   R1,=0X56000014         ;IO0CLR地址
    STR   R0,[R1]
     
    BL    DELAY
     
    LDR   R0,=0X55555555
    LDR   R1,=0X56000014         ;IO0CLR地址
    STR   R0,[R1]
     
    LDR   R0,=0xAAAAAAAA        ;间隔高电平输出
    LDR   R1,=0x56000014               ;IO0SET地址  
    STR   R0,[R1]
     
    BL    DELAY
     
    B    LOOP                 ;跳回去START,一个死循环:)
     
DELAY     
    MOV R0,#100
0
    MOV R1,#1000
1
    SUBS R1,R1,#1
    BNE %B1
    SUBS R0,R0,#1
    BNE %B0
     
    MOV PC,LR

    END
看看上面这个程序
有没有什么问题
反正下载后就over了
在这里向大家讨教啦

出0入0汤圆

发表于 2009-4-8 20:50:24 | 显示全部楼层
追贴追楼主

出0入0汤圆

发表于 2009-4-8 22:41:57 | 显示全部楼层
哈哈,小弟的板跟楼主是一样的!以后好好向楼主学习!

出0入0汤圆

发表于 2009-4-8 22:48:59 | 显示全部楼层
楼主厉害,看来我得回去闭门修_炼一年后才敢在ouravr发帖了。

出0入0汤圆

发表于 2009-4-8 23:16:13 | 显示全部楼层
Micro2440+7寸触摸屏,慢慢学习。

出0入0汤圆

发表于 2009-4-9 17:39:19 | 显示全部楼层
牛人

出0入0汤圆

发表于 2009-4-12 23:42:08 | 显示全部楼层
哎 要加油了

出0入0汤圆

发表于 2009-4-14 19:17:01 | 显示全部楼层
严重关切楼主的后续.......我的也是mini2440,外加cmos130,刚到手!!

出0入0汤圆

发表于 2009-4-15 12:29:38 | 显示全部楼层
关注后续,我也在学着用miniARM

出0入0汤圆

发表于 2009-4-15 16:36:47 | 显示全部楼层
期待楼主后续的作业~~~~~

出0入0汤圆

发表于 2009-4-23 15:51:18 | 显示全部楼层
lz强人 膜拜学习。。。这个开发板是在哪里买的啊?

出0入0汤圆

 楼主| 发表于 2009-4-25 15:30:05 | 显示全部楼层
感谢大家对我的鼓励,最近一直在看书,框架只能是框架,路还很长...今天我开始写一个基于mini2440的简单的OS,从最底层的固件开始,完成后立即发帖!

出0入0汤圆

发表于 2009-4-25 16:13:59 | 显示全部楼层
向LZ学习

出0入0汤圆

发表于 2009-4-25 17:05:33 | 显示全部楼层
学习了,正准备买一块MINI2440

出0入0汤圆

发表于 2009-4-25 19:43:53 | 显示全部楼层
严重关注啊,手上有块2410

出0入0汤圆

发表于 2009-4-27 17:30:52 | 显示全部楼层
安排得不错

出0入46汤圆

发表于 2009-4-28 23:25:12 | 显示全部楼层
不错

出0入0汤圆

发表于 2009-5-11 04:40:19 | 显示全部楼层
牛人!

出0入0汤圆

发表于 2009-5-11 08:35:31 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-5-11 09:53:41 | 显示全部楼层
cool

出0入0汤圆

发表于 2009-5-16 10:40:41 | 显示全部楼层
也想学学,还不知道怎么入手

出0入0汤圆

发表于 2009-5-19 16:50:53 | 显示全部楼层
顶!!!!!

出0入0汤圆

发表于 2009-6-28 08:47:02 | 显示全部楼层
看来LZ确实是比较牛, 顶你个肺~~!

出0入0汤圆

发表于 2009-6-28 12:21:38 | 显示全部楼层
MARK

出0入0汤圆

发表于 2009-6-29 00:40:58 | 显示全部楼层
mark 牛人

出0入0汤圆

发表于 2009-6-29 02:01:16 | 显示全部楼层
严重跟楼主的帖子

出0入0汤圆

发表于 2009-6-29 03:13:32 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-6-29 08:42:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-6-29 08:49:07 | 显示全部楼层
学习!

出0入0汤圆

发表于 2009-6-29 14:53:51 | 显示全部楼层
向楼主学习

出0入0汤圆

发表于 2009-7-14 11:40:02 | 显示全部楼层
m

出0入0汤圆

发表于 2009-7-26 19:40:31 | 显示全部楼层
能共享一下光盘资料吗?

出0入0汤圆

发表于 2009-8-1 16:56:09 | 显示全部楼层
基础很好啊

出0入0汤圆

发表于 2009-8-5 17:34:49 | 显示全部楼层
追贴向楼主学习,小弟愚钝停留在某些地方好久了!

出0入0汤圆

发表于 2009-8-11 20:23:24 | 显示全部楼层
好好学习~~

出0入0汤圆

发表于 2009-8-11 22:56:35 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-8-12 18:30:03 | 显示全部楼层
不错,楼主是学过单片机的人。对学这个很好上手的。

出0入0汤圆

发表于 2009-8-12 18:34:20 | 显示全部楼层
把单片机里的所有寄存器啦,串口啦,定时器啦,在ARM中全看成一个叫地址的东西就行啦,这样ARM就成单片机啦。这样学习好入门。我认为。

因为单片机本身就可以做成像ARM一样的。
因为ARM就是高级单片机。


要是有个牛人,在M128上加个外部ROM,再加个MMU说不定还真能在M128上做个系统出来 呢。

要不加个大点的ROM,做个像OS一样的小系统也行啊。


这样ARM就不再那么高高在single chip之上啦。

哈哈

出0入0汤圆

发表于 2009-8-21 09:28:13 | 显示全部楼层
飘过................

出0入0汤圆

发表于 2009-8-21 10:22:53 | 显示全部楼层
mark,有机会学习一下

出0入0汤圆

发表于 2009-8-21 10:25:13 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-8-21 10:52:43 | 显示全部楼层
re:livanfield
mini2440和micro2440的光盘资料可直接在广州友善之臂电子有限公司网站下载

出0入0汤圆

发表于 2009-8-22 01:46:10 | 显示全部楼层
MARK 牛人

出0入0汤圆

发表于 2009-8-22 18:06:00 | 显示全部楼层
不错   很初级   对新手有帮助了解ARM

出0入0汤圆

发表于 2009-8-24 10:50:00 | 显示全部楼层
来顶一下 不学习的死ARM7 但是思路可没楼主那么清楚啊 !!!

出0入0汤圆

发表于 2009-8-24 11:02:41 | 显示全部楼层
标记一下

出0入0汤圆

发表于 2009-8-25 21:55:46 | 显示全部楼层
标记一下

出0入0汤圆

发表于 2009-8-25 23:45:47 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-8-25 23:45:49 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-8-26 14:15:44 | 显示全部楼层
好的学习习惯和方法,值得借鉴~~~`

出0入0汤圆

发表于 2009-11-3 11:09:01 | 显示全部楼层
向楼主看齐,继续关注楼主~~~~    等待中............

出0入0汤圆

发表于 2009-11-3 12:01:13 | 显示全部楼层
我也买了一块,不过还没有用过,跟楼主学习

出0入0汤圆

发表于 2009-11-4 14:55:03 | 显示全部楼层
mark!

出0入0汤圆

发表于 2009-11-5 20:37:58 | 显示全部楼层
牛人

出0入0汤圆

发表于 2009-11-5 23:55:06 | 显示全部楼层
嘿嘿,不错。

出0入0汤圆

发表于 2009-11-6 08:29:47 | 显示全部楼层
mark.

出0入0汤圆

发表于 2009-11-6 11:01:26 | 显示全部楼层
待下文

出0入0汤圆

发表于 2009-11-6 16:01:38 | 显示全部楼层
楼主的学习方法很牛X,学习下...

出0入0汤圆

发表于 2009-11-7 12:36:28 | 显示全部楼层
楼主牛人,学习了

出0入0汤圆

发表于 2009-11-7 13:03:48 | 显示全部楼层
mark!楼主学的真快啊!

出0入0汤圆

发表于 2009-11-7 23:24:23 | 显示全部楼层
支持下!

出0入0汤圆

发表于 2009-11-9 19:57:14 | 显示全部楼层
楼主,跑UCOS没有啊?我最近在弄,有空交流一下啊,呵呵

出0入0汤圆

发表于 2009-11-11 17:06:28 | 显示全部楼层
楼主还是挺快的

出0入0汤圆

发表于 2009-11-11 22:00:57 | 显示全部楼层
呵呵,不上系统就给单片机没什么两样
只是寄存器多了一大堆..

出0入0汤圆

发表于 2009-11-12 10:48:47 | 显示全部楼层
我的也是友善mini2440的,期待lz继续有新东西出来分享。

出0入0汤圆

发表于 2009-11-12 21:16:22 | 显示全部楼层
3ks

出0入0汤圆

发表于 2009-11-15 14:38:13 | 显示全部楼层
裸奔

出0入0汤圆

发表于 2009-11-15 21:16:09 | 显示全部楼层
羡慕楼主的足迹。

出0入0汤圆

发表于 2009-11-23 12:47:00 | 显示全部楼层
学习了,楼主的学习思路很好!

出0入0汤圆

发表于 2009-12-6 00:21:42 | 显示全部楼层
楼主加油,我也在学习!

出0入0汤圆

发表于 2009-12-8 13:19:16 | 显示全部楼层
很明显 以前学过嘛

出0入0汤圆

发表于 2009-12-8 15:40:07 | 显示全部楼层
学习

出0入0汤圆

发表于 2009-12-8 15:43:02 | 显示全部楼层
我也是

出0入0汤圆

发表于 2009-12-9 09:34:53 | 显示全部楼层
很好
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-28 15:56

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表