随笔分类 -  SmartARM3250

周立功SmartARM3250学习历程与总结
High Speed UARTs
摘要: IO复用情况 LPC3250 的7个串口中的UART1/2/7是高速串口。其中的IO复用见 LPC3250串口IO复用情况。 高速串口不能使用 文档描述: Enable the LPC32xx high speed serial ports in the kernel driver configuration and select which high speed serial ports of the 3 you want to use in the Linux kernel configuration System Type-- menu. Add the device nodes to the /dev are using the following command: [root@nxp /root]# mknod /dev/ttyTX0 c 204 196 [r 阅读全文
posted @ 2012-04-28 15:01 风行雪舞 阅读(779) 评论(0) 推荐(0)
Standard UART's driver
摘要:LPC3250 串口存在IO复用,详见 LPC3250串口IO复用情况。 UART1~7的UART3/4/5/6为普通串口。其中: UART5——ttyS0为系统调试串口 目前还没有仔细配置IO复用,其余的串口驱动测试情况。 ttyS0——UART5,正常使用 ttyS1——UART3,能发能收 ttyS2——UART4, ttyS3——UART6, UART6是红外串口,默认情况下作为红外串口使用。如果要将红外串口作为普通串口使用,需要对其进行配置。 UART_CTRL寄存器的Bit5,0——使用红外模块进行调制和解调,1——旁路红外模块。 阅读全文
posted @ 2012-04-28 15:00 风行雪舞 阅读(219) 评论(0) 推荐(0)
NAND FLASH Driver
摘要:NAND FLASH写保护处理 硬件端口:GPO_14,低有效。GPO_14是单功能引脚,仅仅GPO功能。操作寄存器:P3_OUTP_SET[14]和P3_OUTP_CLR[14]。 代码:__raw_writel(OUTP_STATE_GPO(14), GPIO_P3_OUTP_SET(GPIO_IOBASE)); __raw_writel(OUTP_STATE_GPO(14), GPIO_P3_OUTP_CLR(GPIO_IOBASE)); 阅读全文
posted @ 2012-04-28 14:59 风行雪舞 阅读(259) 评论(0) 推荐(0)
SD Card Driver
摘要:MS_WP,SD_WP,SD卡写保护:GPI_09,驱动读取SD卡的写保护开关,进行不同操作; MS_CD,SD_CD,插卡检测:GPI_04。(原理图的左边MS_CD和MS_WP写反了,以网络标号为准) MS_PWR,SD_PWR,电源控制引脚,GPO_01,控制2SJ355。 驱动程序 写保护检测 GPI_09是单功能仅输入引脚,读取引脚状态,寄存器:P3_INP_STATE[9]。 代码: 103 u32 tmp; 104 105 tmp = __raw_readl(GPIO_P3_INP_STATE(GPIO_IOBASE)) & INP_STATE_GPI_09; 阅读全文
posted @ 2012-04-28 14:58 风行雪舞 阅读(954) 评论(0) 推荐(0)
LED TICK驱动
摘要: 硬件资源 LED2——GPO_06控制。 移植代码GPIO底层API GPIO相关底层API在arch/arm/mach-lpc32xx/include/mach/lpc32xx_gpio.h文件中实现。 使用范例: 536 /* Set LED GPIO as an output */ 537 __raw_writel(OUTP_STATE_GPO(1), GPIO_P2_DIR_SET(GPIO_IOBASE)); 292 /* Enable the backlight */ 293 #if defined (CONFIG_SMARTARM3250_QVGA_PANEL_V1_00) 294 __raw_writel(OUTP_STATE_GPO(4), GPIO_P3_OUTP_CLR(GPI 阅读全文
posted @ 2012-04-28 14:57 风行雪舞 阅读(350) 评论(0) 推荐(0)
LPC3250高分屏设置
摘要:640x480,使用夏普的8寸液晶测试: 1024x768@48Hz,使用LG的17寸液晶测试: 群创WVGA屏 阅读全文
posted @ 2012-04-28 14:56 风行雪舞 阅读(397) 评论(0) 推荐(0)
消除控制台的光标
摘要:修改drivers/video/console/Makefile,去掉光标文件 29 #obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o font.o softcursor.o 30 obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o font.o 修改如下文件使用了soft_cursor的地方: drivers/video/console/bitblit.c drivers/video/console/fbcon_cw.c drivers/video/console/fbcon_ccw.c drivers/video/console/fbcon_ud.c 阅读全文
posted @ 2012-04-28 14:54 风行雪舞 阅读(514) 评论(0) 推荐(0)
NAND FLASH分区规划
摘要:由于BOOTLOADRER、PARAMS以及内核、文件系统都在NAND FLASH上,因此分区就得进行统一规划。系统的NAND FLASH分区依赖于u-boot和Linux内核两方面的设置。 U-Boot中的NAND分区 文件:include/configs/开发板.h 这是Phy3250的参数,Phy3250采用32MB的NAND FLASH,扇区大小为16KB: 189 /* Phy3250's NAND FLASH, 32MB, 16K size(Block, Sector) */ 190 //#define CFG_ENV_SIZE 0x4000 /* 1 block, 16K */ 191 //#define CFG_ENV_OFFSET 0x168000 /* Block 阅读全文
posted @ 2012-04-28 14:50 风行雪舞 阅读(1046) 评论(0) 推荐(0)
LPC3250中断控制器
摘要:框图 LPC3250有3个中断控制器,分别是1个主中断控制器(MIC)和2个子中断控制器(SIC1、SIC2)。整个框图以及它们的关系如下图: 寄存器汇总 每个控制器都有自己的一组寄存器,如下表所列: 阅读全文
posted @ 2012-04-28 14:48 风行雪舞 阅读(635) 评论(0) 推荐(0)
LPC3250 BSP Header Files' Position
摘要:用户驱动一般都会有这样类似的文件包含: #include 这就要求平台相关的头文件必须放在include/asm/arch/目录下,而LPC3250的平台相关头文件却放在arch/arm/mach-lpc32xx/include/mach/目录下,如下所示: [chenxibing@localhost linux-2.6.27.8]$ ls arch/arm/mach-lpc32xx/include/mach/ board.h i2c.h lpc32xx_gpio.h lpc32xx_rtc.h lpc32xx_uart.h uncompress.h clock.h io.h lpc32xx_hsuart.h lpc3 阅读全文
posted @ 2012-04-28 14:46 风行雪舞 阅读(200) 评论(0) 推荐(0)
LPC3250 External Memory Controller
摘要:其中,基地址是0x31080000的寄存器是EMC的寄存器,还没有定义,需要自己定义。 基地址是0x40004000的寄存器已经在lpc32xx_clkpwr.h中定义了,无需再次定义。 阅读全文
posted @ 2012-04-28 14:45 风行雪舞 阅读(272) 评论(0) 推荐(0)
LPC3250 Perpheral IO Mapping
摘要:机器描述 在board-smartarm3250.c中实现: MACHINE_START (LPC3XXX, "SmartARM3250 board with the LPC3250 Microcontroller") /* Maintainer: Kevin Wells, NXP Semiconductors */ .phys_io = UART5_BASE, .io_pg_offst = ((io_p2v (UART5_BASE))18) & 0xfffc, .boot_params = 0x80000100, .map_io = lpc32xx_map_io, //CPU IO映射入口 .init_irq = lpc32xx_in 阅读全文
posted @ 2012-04-27 20:20 风行雪舞 阅读(510) 评论(0) 推荐(0)
LPC3250 Perpheral Base Registers
摘要: LPC3250 Perpheral Base Registers基地址定义: LPC3250外设众多,无法将全部的寄存器做成一个头文件,或者列出全部的寄存器和地址。 移植代码将每个外围部件的基地址做成一个文件platform.h,然后为每个外设再编写单独的外设寄存器列表(偏移量),如lpc32xx_gpio.h等等。 platform.h文件内容如下: /* * asm-arm/arch-lpc32xx/platform.h * * Author: Kevin Wells * * Copyright (C) 2008 NXP Semiconductors * * This program is free software; you can redistribute it and/or modify 阅读全文
posted @ 2012-04-27 20:19 风行雪舞 阅读(392) 评论(0) 推荐(0)
SmartARM3250 Linux kernel porting
摘要:在内核增加SmartARM3250的独立代码 增加SmartARM3250的配置菜单 修改arch/arm/mach-lpc32xx/Kconfig文件,参考原有的菜单进行编写,增加SmartARM3250的配置选项菜单。 增加板级文件 (1)在arch/arm/mach-lpc32xx/目录下增加board-smartarm3250.c文件,在其中实现和开发板具体相关的一下信息,可以参考原有的板子。 (2)修改Makefile,增加board-smartarm3250.c文件的支持。 阅读全文
posted @ 2012-04-27 20:17 风行雪舞 阅读(316) 评论(0) 推荐(0)
基本内核编译
摘要: 2009年1月份,第一个发布版本出现,采用2.6.27.8版本,使用arm-vfp-linux-gnu 4.3.2的编译器,主机环境为Fedora 9。能够编译通过,却无法正常启动,在解压内核后就停止了。 如下是串口终端的信息: TFTP from server 192.168.7.110; our IP address is 192.168.7.236 Filename 'uImage'. Load address: 0x80100000 Loading: ################################################################# ################################################ done 阅读全文
posted @ 2012-04-27 20:15 风行雪舞 阅读(479) 评论(0) 推荐(0)
NOR FLASH的U-Boot
摘要:由于NXP基于NAND的U-Boot使用了S1L的一些初始化工作,因此需要把S1L中的初始化工作放到U-Boot中。 修改u-boot.lds,将U-Bootd饿入口地址修改为NOR FLASH的物理地址0xE0000000. 24 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") 25 OUTPUT_ARCH(arm) 26 ENTRY(_start) 27 SECTIONS 28 { 29 . = 0xE0000000; #修改为NOR FLASH的物理地址 30 31 . = ALIGN(4); 32 .text : 33 { 34 cpu/arm92 阅读全文
posted @ 2012-04-27 20:13 风行雪舞 阅读(464) 评论(0) 推荐(0)
U-Boot for LPC3250
摘要: 烧写全新U-Boot后,默认参数很少,需要根据自己的实际环境进行设置和更改。 包括ip、服务器的IP、网关、文件名,甚至连bootcmd也需要自行配置。如下是配置好的参数: U-Boot 1.3.3 (Feb 3 2009 - 10:03:29) DRAM: 64 MB NAND: 32 MiB In: serial Out: serial Err: serial Hit any key to stop autoboot: 0 uboot printenv bootdelay=3 baudrate=115200 ethaddr=DE:AD:BE:EF:00:01 netmask=255.255.255.0 gatewayip=192.168.1.1 bootfile 阅读全文
posted @ 2012-04-27 20:11 风行雪舞 阅读(554) 评论(0) 推荐(0)
Stage 1 Loader
摘要:SmartARM3250help menu help sys Displays help and syntax for a specific command core S1L core system command group image S1L image processing command group nand NAND command group mmu MMU command group hw Hardware command group 阅读全文
posted @ 2012-04-27 20:09 风行雪舞 阅读(307) 评论(0) 推荐(0)
LPC3250的IO复用情况
摘要:LPC3250号称有7个串口,实际上串口和其它功能模块存在IO复用情况,使用全部串口的时候有些其它功能是使用不了的。 7个串口:UART1/2/3/4/5/6/7 分成两类:UART1/2/7称为高速串口,UART3/4/5/6则是普通串口。 UART1(高速串口): U1_TX U1_RX/GPI_15/CAP1.0 UART2(高速串口): U2_HCTS/GPI_16/U3_CTS U2_RX/U3_DSR U2_TX/U3_DTR U2_HRTS/GPO_23/U3_RTS 阅读全文
posted @ 2012-04-27 20:04 风行雪舞 阅读(599) 评论(0) 推荐(0)
交叉编译工具链
摘要:armvfp-4.3.2 有两种形式的工具链 tc-nxp-lnx-armvfp-4.3.2-1.src.rpm 和 tc-nxp-lnx-armvfp-4.3.2-1.src.rpm。 tc-nxp-lnx-armvfp-4.3.2-1.rpm 直接使用rpm -ivh命令安装即可。 tc-nxp-lnx-armvfp-4.3.2-1.src.rpm 查看所包含的内容: [chenxibing@localhost lpc3250]$ rpm -qpl tc-nxp-lnx-armvfp-4.3.2-1.src.rpm armtool.spec tc-nxp-lnx-armvfp-4.3.2.tar.bz2 普通用户安装,出错: [chenxibing 阅读全文
posted @ 2012-04-27 19:59 风行雪舞 阅读(379) 评论(0) 推荐(0)

无觅相关文章插件,快速提升流量