📄 main.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "common.h"
#include "tht_memory_map_defines.h"
int main(void)
{
// U32 SourceAddress = *(volatile U32*)(0xC000FFF0);
// U32 TargetAddress = *(volatile U32*)(0xC000FFF4);
// U32 NumberOfByte = *(volatile U32*)(0xC000FFF8);
//U32 SourceAddress = *(volatile U32*)(0xC0004000);
//U32 TargetAddress = *(volatile U32*)(0x00000000);
// U32 NumberOfByte = *(volatile U32*)(0x00004000);
U32 SourceAddress = (0xC3000000);
U32 TargetAddress = (0x00000000);
// U32 Word = NumberOfByte / 4;
U32 Word = 64*1024 / 4;
// change the PLL to 266/88
CheckHABStatus();
//U32 SourceAddress = 0xC2000000;
//U32 TargetAddress = 0xC8000000;
//U32 Word = 8*1024*1024;
// 0xC000_0060: Flash Image temporary at SDRAM, e.g. 0xC001_0000
// 0xC000_0064: Flash Image to be store on Flash, e.g. 0xC800_0000 - CS0
// 0xC000_0068: Size of Flash Image
// 0xC000_4000: Entry of this Flash Download Application
// 0xC000_8000: End of Flash Download Application
// ************************
// LED RAM application
// Load Flash_img.bin into 0xC3000000, will burn onto 0xC8000000, size as 1M = 1 * 1024*1024/4;
// ************************
// Linux OS
// * Bootloader
// Load HAB-vec.bin into 0xC3000000
// Load boot0.2.0.bin into 0xC3004000
// With size 1M = 1 * 1024*1024/4, program onto 0xC8000000;
// * Kernel
// Load kernel4.bin into 0xC3100000
// With size 2M = 2 * 1024*1024/4, program onto 0xC8100000;
// * RootDisk
// Load rootdisk4.bin into 0xC3300000
// With size 12M = 12 * 1024*1024/4, program onto 0xC8300000;
/*
SourceAddress = 0xC3000000;
TargetAddress = 0xC8000000;
Word = 16* 1024*1024/4;
FlashLoader(TargetAddress, SourceAddress, Word);
*/
nand_init();
//Nand_test();
FlashLoader(TargetAddress, SourceAddress, Word);
//nand_read(0x00000000, 0xC1000000, 4096);
while (1);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -