您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter
   
查看大图

分享到: 转播到腾讯微博

优龙YL-LPC2478开发板NXP PHILIPS arm7 PWM CAN总线【北航博士店

  • 商品编号:BN-42545514
  • 货  号:BN-42545514
  • 销售价: ¥900.00
购买数量:
  (库存1000)
YL-LPC2478开发板简介
YL-LPC2478是一款基于NXP的LPC2478处理器设计的开发板,Z高频率可达72MHz,含有高达512KB的片内Flash和98KB的片内SRAM存储器,功能接口丰富,特别适合于工业控制.通信.汽车.医疗等系统的开发.

 


YL-LPC2478开发板硬件资源: 


按此在新窗口浏览图片 LPC2478FBD208(NXP),ARM7TDMI-S,Z高频率72MHz;
按此在新窗口浏览图片片内512K字节Flash,98K字节SRAM;
按此在新窗口浏览图片 外接32M字节SDRAM;
按此在新窗口浏览图片 外接64M字节Nand Flash;
按此在新窗口浏览图片 2个三线RS232接口,其中一个用作ISP;
按此在新窗口浏览图片 1个USB HOST和一个USB OTG;
按此在新窗口浏览图片 支持TFT(5:6:5)LCD接口,带Buffer芯片(LVCH162245)驱动
按此在新窗口浏览图片 2路CAN总线接口;
按此在新窗口浏览图片 1路以太网接口;
按此在新窗口浏览图片 1个SD存储卡接口;
按此在新窗口浏览图片 一路音频输出,带功放,可直接连接喇叭;
按此在新窗口浏览图片 20芯标准JTAG接口和一个ETM调试接口,支持ADS1.20.IAR等调试;
按此在新窗口浏览图片 3个小按键,八个高亮LED;
按此在新窗口浏览图片 1个可调电位器接到ADC上可以做ADC实验;
按此在新窗口浏览图片 1个复位按键,并采用专用复位芯片进行复位;
按此在新窗口浏览图片 两个外部扩展口,引出了处理器的部分信号线:如I/O口,读写信号等;
按此在新窗口浏览图片 小面积实验板区域;
按此在新窗口浏览图片 电源供电方式:外接5V直流电源.USB供电及J-Link供电,带电源指示灯.

 


用户光盘上提供的开发工具和源代码:

1) ADS1.20安装程序(评估版),IAR集成开发环境(32K限制版);
2) 串口工具软件dnw.exe;
3) Philips的内部Flash烧写工具;
4) ADS1.20.IAR开发环境下的DEMO程序;
5) YL_LPC2478电路原理图 (OrCAD格式)元件封装库和PCB尺寸结构图;
6) YL_LPC2478开发板使用手册(pdf格式).

 


ADS1.20开发环境下的DEMO程序:


  ◆ 跑马灯(GPIO);
  ◆ NET/ADC; 
  ◆ CAN总线;
  ◆ PWM;
  ◆ EXTINT;
  ◆ 音频输出;
  ◆ YL-LPC2478-BIOS(包含UART1,SD卡与Nand Flash的读写);
  ◆ LCD显示.

 


IAR开发环境下的DEMO程序:

 

  ◆ 跑马灯(GPIO);
  ◆ CAN总线;
  ◆ PWM;
  ◆ EXTINT;
  ◆ Timer;
  ◆ LCD模块显示.

 


YL-LPC2478 套件包括:


1) 一块YL_LPC2478开发板;
2) 用户光盘;
3) 一个Dragon JTAG调试头;
4) 一条25P(公对母)并口线;
5) 一条交叉串口线;
6) 一条USB线;
7) 一个5V直流电源.

 

关于售后服务及技术支持:


感谢您选用此开发板,我们对此板保修一年(CPU及中央元件烧损除外)
 技术支持方式:BBS 论坛支持,时间不限,响应时间是一个工作日.
 技术支持范围:
1. 协助用户正确测试与跑通优龙板卡上的各个硬件,如串口.网口等.
2. 帮助用户运行优龙光盘里的目标代码
3. 帮助用户把开发板恢复到出厂设置.
以下内容优龙不承诺在技术支持范围之列:
1. 开发工具如ads, pb5.0的安装,操作系统redhat的安装 
2. 操作系统如uclinux/linux/wince 的编译
3. 用户自己编写的应用

 

在IAR环境下,lpc2478 用户程序的地址及中断向量设置(IAR)(地址)(中断向量)(bootloader)

摘要:

   当系统中,只有一个程序时,可以直接从起始地址开始运行;但当系统中有两个程序时,例如带bootloader的系统,则应用程序的运行需要通过bootloader跳转,和bootloader相比,应用程序的地址和中断向量表地址都发生改变,如何告诉编译器来分配bootloader和应用程序在flash中的地址以及如何告诉CPU中断表向表的位置,是本文讨论的主要内容.

简介:

1.如何设置bootloader和user app的程序地址

    首先我们来看看IAR下LPC2478的分散加载文件:LPC2478_Flash.icf

/*-Specials-*/
define symbol __ICFEDIT_intvec_start__
= 0x00000000;//中断向量表的起始地址
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__
= 0x00000044; //程序ROM起始地址
define symbol __ICFEDIT_region_ROM_end__
= 0x0007FFFF;
define symbol __ICFEDIT_region_RAM_start__
= 0x40000000; //数据RAM的起始地址
define symbol __ICFEDIT_region_RAM_end__
= 0x4000FFFF;


/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__
= 0x100;
define symbol __ICFEDIT_size_svcstack__
= 0x100;
define symbol __ICFEDIT_size_irqstack__
= 0x100;
define symbol __ICFEDIT_size_fiqstack__
= 0x40;
define symbol __ICFEDIT_size_undstack__
= 0x40;
define symbol __ICFEDIT_size_abtstack__
= 0x40;
define symbol __ICFEDIT_size_heap__
= 0x1000;
/**** End of ICF editor section. ###ICF###*/

    从上面可以看出,中断向量表是放在起始地址0处的,它占64个字节,从0x44开始存放用户程序,保证用户程序不占用中断向量表的空间;这是bootloader的设置.

  理解了地址设置的方法,user app的地址就好办了:

  比如说,bootloader在0x0~0x4000,那么用户程序为了保证不覆盖bootloader,则应该从0x4000开始,我们作如下设置

/*###ICF### Section handled by ICF editor, don't touch! ****/
/*-Editor annotation file-*/
/* IcfEditorFile=$TOOLKIT_DIR$configideIcfEditora_v1_0.xml */
/*-Specials-*/
define symbol __ICFEDIT_intvec_start__
= 0x00004000; //中断向量表的起始地址
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__
= 0x00004044;//程序ROM起始地址
define symbol __ICFEDIT_region_ROM_end__
= 0x0007FFFF;
define symbol __ICFEDIT_region_RAM_start__
= 0x40000040;//数据RAM的起始地址 为什么要空出0x40,后面再解释
define symbol __ICFEDIT_region_RAM_end__
= 0x4000FFFF;


/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__
= 0x100;
define symbol __ICFEDIT_size_svcstack__
= 0x100;
define symbol __ICFEDIT_size_irqstack__
= 0x100;
define symbol __ICFEDIT_size_fiqstack__
= 0x40;
define symbol __ICFEDIT_size_undstack__
= 0x40;
define symbol __ICFEDIT_size_abtstack__
= 0x40;
define symbol __ICFEDIT_size_heap__
= 0x1000;
/**** End of ICF editor section. ###ICF###*/

  地址是设置好了,我们分别编译bootloader和user app,并下载到目标系统中去运行,程序真的跑起来了,说明地址设置是正确的,可是一用中断,程序就死掉了,这是怎么回事呢.

  原来,user app中的中断向量表在0x4000,CPU中断不会跳转到这里来,而是跳转到0x0,0x0是bootloader的中断向量表,当然会出错,那么如何设置user app的中断向量表呢.

2.如何设置bootloader和user app的中断向量表

    在lpc系列AR7的中断向量表,它不像STM32(cortex-m3)那样可以通过 NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x4000); 来设置,它的中断向量表只能是几个固定的位置:

 

这里我们可以将中断向量表映射到RAM中(RAM起始地址0x40000000~0x400000040),然后在0x4000处将中断向量表复制到RAM里,那么这样就能正常中断了,在user app初始化时,加入如下代码:

//将向量表复制到内存
//注意在分散加载文件中将内存:0x40000000~0x40000000+16*4.保留.
if(1)
{
memcpy((BYTE
*)0x40000000, (BYTE *)0x4000,16*4);
MEMMAP
= 0x02; //中断向量表设置在RAM中
}

为了保证RAM址0x40000000~0x400000040不被程序占用,在ICF文件中的  define symbol __ICFEDIT_region_RAM_start__ = 0x40000040; 而不是0x40000000了.

结语:

   对于不是在起始地址运行的程序,除了修改分散加载文件中的起始地址外,还需要注意中断向量表,否则系统将不能正常的工作.

来源:博航网 http://www.broadon.net

 

博航网提供ARM开发板,FPGA开发板,DSP开发板,ARM9开发板,嵌入式开发板,android开发板,ARM11开发板,仿真器,LCD触摸屏,物联网,嵌入式Linux,winCE等嵌入式系统相关资讯.
如果您对本商品有什么问题,请直接到 http://www.broadon.cn 咨询在线客服! 更新和价格也请到http://www.broadon.cn
如果您对本商品有什么评价或经验,欢迎分享!