搜索
bottom↓
回复: 38

EK-LM3S8962学习流水帐

[复制链接]

出0入0汤圆

发表于 2010-8-9 11:05:39 | 显示全部楼层 |阅读模式
感谢湘潭热心的网友张哥寄来的板子,让我也有幸能象其它网友一样学习LM3S。

和STM32相比,LM3S确实有不少特点,集成MAC+PHY的以太网控制器,带SDRAM的EBI外部总线,这些对于同类芯片来说,已经是很好很强大了。

当然它的发光点还不仅仅是这两处:
单周期FLASH,最高达100M的主频,内置固件函数库,多种方式bootloader,IO位屏蔽,SPI和串口带FIFO等等。

下面是学习过程中的一些记录,旨在如何应用,分析得还不够深入,供参考。

一、        LM3S的Bootloader
    D:\StellarisWare\boot_loader 文件夹下是lm3s bootloader源码,支持usb ssi 以太网 串口方式boot,通过bl_config.h配置;

这个目录里包含了bootloader应用的所有文件,就像一个库一样,当需要用到bootloader时,只需要建一个工程把这个文件夹里需要用到的文件加进来,再修改一下bl_config.h文件就可以了,具体可参考范例。
这里面还有一个bl_config.c文件,需要说明一下,它不是一个标准C语法的文件,我们不需要把它包含到工程中去,它的目的是为了和bl_config.h文件一起生成bl_config.inc文件,因为bl_config.h中定义了的这些配制参数,在bl_startup_rvmdk.s文件中用到,而在keil中汇编文件又不能直接#include "bl_config.h",它只能include bl_config.inc。所以需要用keil的armcc工具将bl_config.h和bl_config.c文件生成bl_config.inc文件,注意该文件要在代码编译前产生。
   在 run user programs before build/rebuildl输入 armcc --device DLM -I . -E -o bl_config.inc ..\..\..\boot_loader\bl_config.c(bl_config.h在当前目录,bl_config.c在..\..\..\boot_loader 目录),并在RUN处打勾,如下图:


(原文件名:1.JPG)

..\boards\ek-lm3s8962目录下有两个范例
boot_eth是以太网方式boot
boot_serial是串口方式boot
bl_config.h文件在这两个范例的工程下。

有一个文件需要说明一下:
bl_link.sct是内存地址分配的一个文件,在boot的keil工程 options for target 的linker栏 scatter file处输入bl_link.sct的路径。注意,这里分配了app区的起始地址,在app工程设置中应与其的一致。

bootloader库适应于多个编译环境,由于是使用keil,所以需要在 options for target 的C/C++栏 Define栏里输入 rvmdk 。

..\docs文件夹下有bootloader的介绍。

二、        LM3S的中断
Lm3S的中断函数没有像STM32那样将所有的中断函数在汇编文件里做声明,并全部整理到stm32f103_it.c里来,而是需要用户自已修改汇编文件进行声明,如下图用到的定时器中断:


(原文件名:2.JPG)

然后在你的主程序里写上


(原文件名:3.JPG)


就是中断入口了。其实和STM32是一样,只是写法不同。

三、        LM3S的位操作
Bitband是位操作的范例,LM3S的库有几个宏非常有用,在hw_types.h下


(原文件名:4.JPG)

当访问寄存器,或位操作时,需要用到这些宏,如对某变量的某位置1:
static volatile unsigned long g_ulValue;
HWREGBITW(&g_ulValue, 31) =  0;
HWREGBITW(&g_ulValue, 7) =  0;         //给 g_ulValue第31位和第7位置0

四、        LM3S的时钟设置
下面两种设置,相信一看就明白了
1、
   //
    // Set the clocking to run directly from the crystal.
    //
           SysCtlClockSet ( SYSCTL_USE_OSC  |                    // 系统时钟设置,不采用PLL        
                    SYSCTL_OSC_MAIN  |                    //主振荡器                        
                    SYSCTL_XTAL_8MHZ  |                    // 外接8MHz晶振                  
                    SYSCTL_SYSDIV_1 ) ;                //不分频,结果为8M  

   2、
//
    // Set the clocking to run directly from the crystal.
    //
        SysCtlClockSet ( SYSCTL_USE_PLL  |                    // 系统时钟设置,采用PLL        
                    SYSCTL_OSC_MAIN  |                    //主振荡器                        
                    SYSCTL_XTAL_8MHZ  |                    // 外接8MHz晶振                  
                    SYSCTL_SYSDIV_4 ) ;                //4分频,结果为50M   
                                                                                                           //Fury家族PLL固定为400MHz Sandstorm家族为200MHz,软件里计算都是按200M算
                                                                                                           //所以4分频后不是100M而是50M
   符件里的例程是在光盘例程的基础上,加了一些注释和一些修改,DOC文件夹里加了几个网上下载的资料。
结语:
   初识LM3S,还有很多不懂,不过至少保证可以将LM3S的片子用起来,弄熟它不是一朝一夕,需要在项目中去体会,去深入,如果在项目中需要用到以太网、或者需要挂大容量SDRAM,我想我会优先考虑它。


点击此处下载 ourdev_573888.rar(文件大小:16.23M) (原文件名:StellarisWare.rar)

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

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2010-8-9 11:25:16 | 显示全部楼层
就是应用官方的库文件,很方便!

出0入0汤圆

发表于 2010-8-9 23:00:56 | 显示全部楼层
多谢分享!

出0入0汤圆

发表于 2010-8-10 17:25:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-11 11:26:19 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-8-11 15:44:45 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-11 15:49:55 | 显示全部楼层
也准备转LM3S, 学习!

出0入0汤圆

发表于 2010-8-21 13:25:48 | 显示全部楼层
期待楼主更新,一起学习进步

出0入0汤圆

发表于 2010-8-23 10:49:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-25 19:30:38 | 显示全部楼层
不错,顶一个!

出10入0汤圆

发表于 2010-10-17 17:10:15 | 显示全部楼层
问个问题,楼主附件里有几个bootloader的BIN文件,这几个文件可不可以直接用到别的芯片型号上???如5000系列的LM3S5762

出10入0汤圆

发表于 2010-10-17 18:03:04 | 显示全部楼层
看了一下LM3S5762的相关说明,好像LM3S5762根本不需要自己编写bootloader,因为LM3S5762自身有一个bootloader in ROM!
是不是这样????

出0入0汤圆

发表于 2010-11-16 20:55:30 | 显示全部楼层
我觉得最大的问题是,StellarisWare官网居然有200多m,下载速度非常的慢,下了几次没下下来,怎么办呢?

出0入0汤圆

发表于 2010-11-16 20:58:02 | 显示全部楼层
我犯了个错误,其实不需要这么大的下载量的。。
http://www.luminarymicro.com/products/software_updates.html
这里有基本主要类型的片子的固件,看起来不需要下那么大版本的了。
然后就是怎么使用的问题了。看指南中。

出10入0汤圆

发表于 2010-11-16 22:37:01 | 显示全部楼层
回复【12楼】morning sun
-----------------------------------------------------------------------

我倒下载完了,一个多钟!

出0入0汤圆

发表于 2010-11-16 22:38:08 | 显示全部楼层
学习了

出0入0汤圆

发表于 2010-11-17 08:28:59 | 显示全部楼层
回复【14楼】dgtg  
回复【12楼】morning sun
-----------------------------------------------------------------------
我倒下载完了,一个多钟!

-----------------------------------------------------------------------

当时我就想taobao买现成的cd了,发现没有,,
然后就找单独的片子对应的software就行的,里头该有都有。

出0入0汤圆

发表于 2010-11-22 16:47:21 | 显示全部楼层
今天拿到板,要好好学习了

出0入0汤圆

发表于 2011-3-12 21:38:32 | 显示全部楼层
学习了

出0入0汤圆

发表于 2011-3-12 21:47:35 | 显示全部楼层
楼主,你的项目中用了这个片子吗,发热啊,不敢上项目。

出0入0汤圆

 楼主| 发表于 2011-3-13 22:40:46 | 显示全部楼层
集成以太网 mac phy 当然发热

应该算正常吧

项目里没用过

你咨询一下周工吧

出0入0汤圆

发表于 2011-3-25 10:57:37 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-25 11:52:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-3 20:43:15 | 显示全部楼层
回复【楼主位】liu_xf 新发
-----------------------------------------------------------------------

必须得顶一下!

出0入0汤圆

发表于 2011-4-4 10:55:44 | 显示全部楼层
好长时间的帖子了,顶一个!!
麻烦楼主帮忙看一下这个帖子。

http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4654023&bbs_page_no=1&search_mode=3&search_text=makerpace&bbs_id=9999

出0入0汤圆

发表于 2011-4-28 23:00:57 | 显示全部楼层
湘潭哪些大哥搞这个的  能认识下不   留个联系方式或加我QQ:75902189

出0入0汤圆

发表于 2011-6-27 15:09:35 | 显示全部楼层
谢谢分享.学习了

出0入0汤圆

发表于 2011-6-28 18:18:33 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-14 16:38:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-17 22:40:24 | 显示全部楼层
还在用8位机的关注中!!!

出0入0汤圆

发表于 2011-8-13 15:37:28 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-13 21:32:44 | 显示全部楼层
学习LM3S中,mark!

出0入0汤圆

发表于 2011-9-13 22:45:20 | 显示全部楼层
确实rom里面的库蛮好用的,方便啊~~~

出0入0汤圆

发表于 2011-9-22 12:51:58 | 显示全部楼层
MARK一下,正在学习

出0入0汤圆

发表于 2011-10-6 18:15:12 | 显示全部楼层
mark ,正在学习LM3s3749

出0入0汤圆

发表于 2011-10-7 19:50:26 | 显示全部楼层
用过LM3S2139,不错!!!!

出0入0汤圆

发表于 2011-10-8 15:25:35 | 显示全部楼层
分享了,对于我这个菜鸟还是有用的。

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-5-12 16:23

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

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