changyongIDchangyongid.blog.chinaunix.net
changyongID
全部博文(72)
barebox(1)
uboot(18)
vivi(12)
arm 中断(1)
2012年(1)
2011年(5)
2010年(10)
2009年(56)
jone_xia
mRsKy
小小城御
meakboo
从hellow
入门jnjs
levy_lee
格伯纳
fiu300
分类: 嵌入式
2009-09-24 15:41:09
/* * Step 1: */ putstr("\r\n"); putstr(vivi_banner);
/* * Simple print string */ void putnstr(const char *str, size_t n) { if (str == NULL) return; while (n && *str != '\0') { putc(*str); str++; n--; } } void putstr(const char *str) { putnstr(str, strlen(str)); }
void putc(char c) { PROC_SERIAL_PUTC(c); }
#define PROC_SERIAL_PUTC(c) \ ({ while (!SERIAL_WRITE_READY()); \ SERIAL_WRITE_CHAR(c); })
#define SERIAL_CHAR_READY() (UTRSTAT0 & UTRSTAT_RX_READY) #define SERIAL_READ_CHAR() URXH0 #define SERIAL_READ_STATUS() (UERSTAT0 & UART_ERR_MASK) #define SERIAL_WRITE_STATUS() (UTRSTAT0) #define SERIAL_WRITE_READY() ((UTRSTAT0) & UTRSTAT_TX_EMPTY) #define SERIAL_WRITE_CHAR(c) ((UTXH0) = (c))
size_t strlen(const char *str) { const char *char_ptr; for (char_ptr = str; char_ptr != NULL; ++char_ptr) if (*char_ptr == '\0') return char_ptr - str; }
#include "vivi_string.h" extern char *vivi_banner; // 在version.c中可以修改自己的启动信息。
int main(int argc, char **argv) { int ret; /* * Step 1: */ putstr("\r\n"); putstr(vivi_banner); for (;;); return 0; }
@000000D4 MTST-OK OK NAND-OK STKP 33DEFFFC 33F0011C
// 下面是main.c里打印出来的。 ToT Bootloder DIY from VIVI. --------changyongid ---------- changyongid@163.com
上一篇:vivi分析-head.S->main.c
下一篇:vivi分析-command的添加与执行
登录 注册