Linux内核写ddr物理地址,DM6437-读写DDR测试过程
硬件平台:DM6437EVM
调试工具:CCS3.3
DDR读写程序:
Uint32 memfill32( Uint32 start, Uint32 len, Uint32 val )
{
Uint32 i;
Uint32 end = start + len;
Uint32 errorcount = 0;
/* Write Pattern */
for ( i = start; i < end; i += 4 )
{
*( volatile Uint32* )i = val;
}
/* Read Pattern */
for ( i = start; i < end; i += 4 )
{
if ( *( volatile Uint32* )i != val )
{
errorcount++;
break;
}
}
return errorcount;
}
(volatile Uint32 *)i :将 i 强制转换成易变指针,指向start,start为DDR写入的首地址。
*(volatile Uint32 *)i :改写 i 指向地址中的值。
test:
Int16 ddr_test( )
{
ddr_base = 0x80000000; // DDR memory
ddr_size = 0x00100000; // 1 MB
if ( memfill32( ddr_base, ddr_size, 0xFFFFFFFF ) )
return 1;
if ( memfill32( ddr_base, ddr_size, 0xAAAAAAAA ) )
return 2;
if ( memfill32( ddr_base, ddr_size, 0x55555555 ) )
return 4;
if ( memfill32( ddr_base, ddr_size, 0x00000000 ) )
return 8;
return 0;
}
main.c:
void main( void )
{
/* Initialize BSL */
EVMDM6437_init( );
TEST_execute( ddr_test, "DDR", 1 );
printf( "\n***ALL Tests Passed***\n" );
}
测试完需要十秒左右的时间
Linux内核写ddr物理地址,DM6437-读写DDR测试过程相关推荐
- 复制linux内核,linux内核写时复制机制源代码解读
作者简介 写时复制技术(一下简称COW)是linux内核比较重要的一种机制,我们都知道:父进程fork子进程的时候,子进程会和父进程会以只读的方式共享所有私有的可写页,当有一方将要写的时候会发生COW ...
- linux内核写文件flush,innodb_flush_method 与linux File I/O
从实验角度比较了fdatasync,O_DSYNC和O_DIRECT在性能上的差异.本文将试图从Linux/Unix"文件I/O"(unbuffered I/O)的角度来解释inn ...
- 使用DDR MIG例程读写DDR演示
1.建立工程,添加MIG IP核: 2.时钟频率: DDR3内部的工作时钟频率: 3. DDR3的控制DDR3 IP核的输入工作时钟 ,一般配置成200M HZ. 4.最后open ip exampl ...
- 【Linux内核】Linux内核介绍
Linux学习内核思路 学习过程: Linux内核引导及如何初始化 进程管理.内存管理 内核引导及过程: CPU通电后,首先执行引导程序,引导程序把内核加载到**内存,**然后执行内核,内核初始化完成 ...
- 操作系统进程学习(Linux 内核学习笔记)
操作系统进程学习(Linux 内核学习笔记) 进程优先级 并非所有进程都具有相同的重要性.除了大多数我们所熟悉的进程优先级之外,进程还有不同的关键度类别,以满足不同需求.首先进程比较粗糙的划分,进程可 ...
- Linux内核参数解释
第1章 内核参数说明 1.1 内核参数列表 kernel.acct acct功能用于系统记录进程信息,正常结束的进程都会在该文件尾添加对应的信息.异常结束是指重启或其它致命的系统问题,不能够记录永不停 ...
- Linux内核之 内核同步
一.同步介绍 1.临界区与竞争条件 所谓临界区(critical regions)就是访问和操作共享数据的代码段.为了避免在临界区中并发访问,编程者必须保证这些代码原子地执行--也就是说,代码在执行结 ...
- [网易云课堂]Linux内核分析(九)—— 课程总结
付何山+原创作品转载请注明出处+<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000; 导读:本文分为两个部分 ...
- linux内核如何读写ddr,linux内核解压详解.doc
linux内核解压详解 Description: /*?OldLinux论坛 -- 有关早期Linux内核代码发展的论坛. 9!%83gY* ?linux/arch/arm/boot/compress ...
最新文章
- 干货|神经网络及理解反向传播
- ASP.NET之父谈ASP.NET AJAX
- 关于Resin SSL支持的两个问题
- window把图片转成blob_将图片转成Base64,再将Base64转成Blob
- 最小生成树算法讨论(转)
- 【渝粤题库】陕西师范大学201721 数学教育学 作业(专升本)
- pyspark 修改python版本_python – Pyspark从日期到字符串更改列的类型
- java服务 重启_Shell脚本自动重启Java服务
- 数据--第51课 - 二叉排序树
- Python(十七)- Excel操作:xlsxwriter绘制图表
- 英语学习计划和方法 English learning plans and methods
- wiz为知笔记docker部署与数据迁移
- typescript基础
- 文件夹里面的文件批量改名字
- accept搭配用法_accept for的用法与搭配
- mysql 数据横向拼接_Mysql 合并结果接横向拼接字段
- 部署网页到华为云服务器,把网页部署到云服务器
- Linux编程技术总结
- 第 7 章 Database design E-R diagram
- 计算机LCG/PCG/MWC/XorShift等PRNG算法,以及V8中Math.random()、webkit中crypto等随机算法的实现
热门文章
- CCNA学习笔记——第一章:OSI 和 TCP/IP 模型
- win10电脑连接手机热点时所出现的问题。
- 使用UsbAsp给UNO烧写bootloader ATMEGA16U2、ATMEGA328P固件烧写教程
- 一个域名下面能搭建多个网站吗?
- 21.BOM的理解,常见的BOM对象你了解哪些?
- 如何提取ppt模板?
- 单片机c语言reti的用法,基于51单片机中断跳出指令“RETI”浅议
- [渝粤教育] 南通大学 智能建造风险源与安全控制 参考 资料
- 柱状图中xy轴怎么出现_『怎样设置excel图标的x、y轴』excel图表xy轴名称
- 数据集大小与模型性能的敏感性分析