前言
本文记录的是内存控制器如何访问SDRAM
测试程序:如果能成功访问SDRAM,就把LED点亮
一、思维导图
二、代码
关键代码
init.c(示例):
#include "S3C2440.h"
void sdram_init(void)
{
BWSCON = 0x22000000;
BANKCON6 = 0x18001;
BANKCON7 = 0x18001;
REFRESH = 0x8404F5;
BANKSIZE = 0xb1;
MRSRB6 = 0x20;
MRSRB7 = 0x20;
}
int sdram_test(void) {
volatile unsigned int* p = (volatile unsigned int*)0x30000000; //指针p指向sdram基地址
int i;
//write data to sdram
for( i = 0; i < 1000; i++ ) {
*(p + i) = 0x55;
}
//read data from sdram
for ( i = 0; i < 1000; i++ ) {
if ( *(p + i) != 0x55 ) {
return -1;
}
}
return 0;
}
main.c:
#include "main.h"
int main(int argc, char const *argv[])
{
Uart_Init();
sdram_init();
//如果成功写入数据到sdram,并成功读取,让LED亮
if( sdram_test() == 0 ) {
led_test();
}
return 0;
}
三、结果展示
关键字:S3C2440 SDRAM LED点亮
引用地址:
S3C2440之SDRAM
推荐阅读最新更新时间:2024-11-09 15:45
51单片机,点亮LED灯和闪烁
1.关键字sfr与sbit的区别 sfr是定义寄存器的字节地址,sbit是定义可位寻址的位地址 例如:sfr P1 =0x90; sbit A = P1^0 sbit B = P1^1; 2. 单片机引脚有:电源引脚、晶振引脚、复位引脚、下载引脚、GPIO引脚 其中晶振引脚主要是用来提供外部时钟,驱动指令执行,GPIO引脚包含P0、P1、P2、P3 四个端口 3.点亮一个LED灯 从电路图可以得知,LED是P2端口,我们给P2.0针脚一个低电压,也就是0V,就会点亮第一个,程序如下 #include reg52.h //引用头文件 int main() { P2
[单片机]
s3c2440裸机-nandflash编程-1-nandflash原理及结构简介
1.nandflash的原理图如下: 引脚属性见下表: 引脚名称 引脚功能 IO0~IO7 数据输入输出(命令、地址、数据共用数据总线) CLE 命令使能 ALE 地址使能 /CE 芯片使能(片选) /RE 读使能 /WE 写使能 R/B 就绪/忙输出信号(低电平表示操作还在进行中,高电平表示操作完成) ##2.nandflash内部存储结构 nandflash内部存储结构如下: 我们常见的Nand Flash,内部只有一个chip,每个chip只有一个plane。但也有些复杂的,容量更大的Nand Flash,内部有多个chip,每个chip有多个plane,这类的Nan
[单片机]
基于S3C2440处理器和Windows CE实现电能计量带电核查仪系统的设计
随着我国经济的迅速发展,大规模工业用电和商业用电需求快速增长。我国城乡普遍使用的国家电压标准10 kV及以上的高压供电系统,出于对供电可靠性及变损的考虑,10KV及以上的工业供电多数采用高压供电高压计量(简称高供高计)的计量方式。但是对现有的计量装置核查时,为了保障现场操作人员的安全,需要断电后才能对高供高计进行检查和数据读取,这给用户的正常用电造成了很大不便。由于受高供高计设备带高压电的特殊性和困难性的影响,目前国内对高供高计设备的检测设备还很少,但市场很需要。 电能计量带电核查仪系统主要用于对10 kV及10 kV以上带电设备的核查、探伤和数据采集。具有采集高供高计电力设备的各方位外观图像信息,可以很方便在计算机或笔记本电
[单片机]
Linux下S3C2440 RTC实时时钟驱动配置与修改
Linux下对S3C2440 RTC的支持非常完善,我们只需要做简单的修改,即可使用RTC 1、vi arch/arm/mach-s3c2440/mach-smdk2440.c static struct platform_device *smdk2440_devices __initdata = { &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, &s3c_device_i2c0, &s3c_device_iis, &s3c_device_rtc, //这里我们添加上RTC平台设备,默认是没添加的 }; 2、make zImage 3、使用与测试 L
[单片机]
使用STM32单片机点亮LED
有一人,登场于金庸先生的《神雕侠侣》,以大理段氏“一阳指”自成一派,武学修为登峰造极,“天下五绝”之一,号称“南帝”,他就是“一灯大师”。如今,武林中逐渐被遗忘的“一灯大师”,却活跃在另一个行业——嵌入式开发中。 传说,每一个成功的MCU(俗称单片机)开发组中,都有一名“一灯大师”,他精通所有开发板的点灯方法,对于企业引入的新开发板,总是勤学苦练,从点灯开始,快速掌握新开发板的编程要点,带领团队走向胜利。 成为“一灯大师”,离不开持续的修行,离不开对一招一式的勤学苦练。本文将讲解如何通过编程来控制STM32点亮一个LED。 学习环境: 1.软件:Keil5 2.硬件:STM32开发板(笔者使用信盈达公司的M4开发板,芯片型
[单片机]
STM32WB55_NUCLEO开发(9)----接收手机数据点亮LED
概述 本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程,并通过与STM32WB配对,向该特征写入一个任意字节,绿色LED会切换。 最近在弄ST和瑞萨RA的课程,需要样片的可以加群申请:615061293 。 硬件准备 首先需要准备一个开发板,这里我准备的是NUCLEO-WB55RG 的开发板: 视频教学 听不到声音的请点击跳转进行观看。 源码下载 选择芯片型号 配置时钟源 HSE与LSE分别为外部高速时钟和低速时钟,在本文中使用外置的时钟源,故都选择Crystal/Ceramic Resonator选项,如下所示: 配置时钟树 RTC时钟配置 RFWKP时钟配置 查看开启ST
[单片机]
s3c2440裸机-LCD编程(四、实现显示功能)
1.让LCD显示满屏红色 我们想要在LCD上显示出数据,所需步骤如下: a. 初始化LCD b. 使能LCD c. 获取LCD参数: fb_base, xres, yres, bpp d. 往framebuffer中写数据 1.初始化LCD工作我们在前面一节框架准备和LCD初始化已经详细介绍了。 2.使能LCD void lcd_enable() { lcd_controller_enalbe(); //会间接调用s3c2440_lcd_controller_enalbe } 3.获取LCD参数 void get_lcd_params(unsigned int *fb_base, int *xres, int
[单片机]