PERFORCE change 95475 for review

Warner Losh imp at FreeBSD.org
Tue Apr 18 04:41:22 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=95475

Change 95475 by imp at imp_hammer on 2006/04/18 04:41:17

	Move eeprom goo to the library.

Affected files ...

.. //depot/projects/arm/src/sys/boot/arm/at91/bootiic/eeprom.c#7 delete
.. //depot/projects/arm/src/sys/boot/arm/at91/bootiic/eeprom.h#3 delete
.. //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#3 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/libat91/eeprom.c#1 branch
.. //depot/projects/arm/src/sys/boot/arm/at91/libat91/eeprom.h#1 branch
.. //depot/projects/arm/src/sys/boot/arm/at91/libat91/lib.h#5 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/Makefile#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/arm_init.s#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/array_bytes.c#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/at91rm9200_lowlevel.c#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/at91rm9200_lowlevel.h#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/debug_io.c#3 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/debug_io.h#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/eeprom.c#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/eeprom.h#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/emac.c#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/emac.h#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/flash.c#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/flash.h#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/irda.c#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/lcd.c#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/lcd.h#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/led.c#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/led.h#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/linker.cfg#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/main.c#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/ohci.h#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/p_string.c#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/p_string.h#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/processor.c#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/processor.h#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/prompt.c#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/prompt.h#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/spi_flash.c#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/spi_flash.h#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/stage1.bin#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/test_uhp.c#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/twsi.c#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/xmodem.c#2 edit
.. //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/xmodem.h#2 edit

Differences ...

==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#3 (text+ko) ====

@@ -2,7 +2,7 @@
 
 LIB=		at91
 INTERNALLIB=
-SRCS=at91rm9200_lowlevel.c getc.c putchar.c printf.c xmodem.c 
+SRCS=at91rm9200_lowlevel.c eeprom.c getc.c putchar.c printf.c xmodem.c 
 NO_MAN=
 
 .include <bsd.lib.mk>

==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/lib.h#5 (text) ====

@@ -29,7 +29,15 @@
 
 int getc(int);
 void putchar(int);
+void printf(const char *fmt,...);
+
+/* The following function write eeprom at ee_addr using data 	*/
+/*  from data_add for size bytes.				*/
+void ReadEEPROM(unsigned ee_addr, char *data_addr, unsigned size);
+void WriteEEPROM(unsigned ee_addr, char *data_addr, unsigned size);
+void InitEEPROM(void);
+
+/* XMODEM protocol */
 int xmodem_rx(char *dst);
-void printf(const char *fmt,...);
 
 #endif

==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/Makefile#2 (text+ko) ====

@@ -1,97 +1,13 @@
-#/******************************************************************************
-# *
-# * Filename: Makefile
-# *
-# * Classic makefile intended for use in gnu environment.  The entries listed
-# *  here are intentionally simple to aid the novice user in his/her own
-# * development - for easy modification.
-# *
-# * Revision information:
-# *
-# * 20SEP2004	kb_admin	initial creation
-# *
-# * BEGIN_KBDD_BLOCK
-# * No warranty, expressed or implied, is included with this software.  It is
-# * provided "AS IS" and no warranty of any kind including statutory or aspects
-# * relating to merchantability or fitness for any purpose is provided.  All
-# * intellectual property rights of others is maintained with the respective
-# * owners.  This software is not copyrighted and is intended for reference
-# * only.
-# * END_BLOCK
-# ******************************************************************************
-# 
+#  $FreeBSD: src/sys/boot/arm/at91/boot0/Makefile,v 1.1 2006/04/12 21:22:44 imp Exp $
 
-SHELL = /bin/sh
+P=bootiic
+FILES=${P}
+SRCS=arm_init.s main.c eeprom.c \
+	env_vars.c loader_prompt.c p_string.c emac.c \
+	flash.c test_uhp.c twsi.c idra.c spi_flash.c processor.c lcd.c \
+	led.c prompt.c
+NO_MAN=
+LDFLAGS=-e 0 -T linker.cfg
+OBJS+=  ${SRCS:N*.h:R:S/$/.o/g}
 
-basetoolsdir = /usr/local/arm
-bindir = ${basetoolsdir}/bin
-libdir = ${basetoolsdir}/lib/gcc/arm-linux/3.4.2
-
-CC = cc ${CFLAGS}
-AS = as
-LD = ld
-OBJCOPY = objcopy
-CFLAGS=-O2 -mcpu=arm9 -ffreestanding
-
-CFILES = main.o debug_io.o at91rm9200_lowlevel.o p_string.o xmodem.o eeprom.o flash.o emac.o test_uhp.o twsi.o irda.o spi_flash.o processor.o lcd.o led.o prompt.o
-ASFILES = arm_init.o
-LIBS=divdi3.o qdivrem.o udivdi3.o divsi3.o moddi3.o umoddi3.o
-
-
-ramMonitor: ${CFILES} ${ASFILES} ${LIBS}
-	${LD} -e 0 -o ramMonitor.out -T linker.cfg ${ASFILES} ${CFILES} ${LIBS}
-	${OBJCOPY} -O binary ramMonitor.out ramMonitor.bin
-
-main.o: main.c
-	${CC} -c $?
-
-debug_io.o: debug_io.c
-	${CC} -c $?
-
-at91rm9200_lowlevel.o: at91rm9200_lowlevel.c
-	${CC} -c $?
-
-prompt.o: prompt.c
-	${CC} -c $?
-
-p_string.o: p_string.c
-	${CC} -c $?
-
-xmodem.o: xmodem.c
-	${CC} -c $?
-
-eeprom.o: eeprom.c
-	${CC} -c $?
-
-flash.o: flash.c
-	${CC} -c $?
-
-emac.o: emac.c
-	${CC} -c $?
-
-test_uhp.o: test_uhp.c
-	${CC} -c $?
-
-twsi.o: twsi.c
-	${CC} -c $?
-
-irda.o: irda.c
-	${CC} -c $?
-
-spi_flash.o: spi_flash.c
-	${CC} -c $?
-
-processor.o: processor.c
-	${CC} -c $?
-
-lcd.o: lcd.c
-	${CC} -c $?
-
-led.o: led.c
-	${CC} -c $?
-
-arm_init.o: arm_init.s
-	${AS} -o $@ $?
-
-clean:
-	rm -f *.o
+.include <bsd.prog.mk>

==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/arm_init.s#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/array_bytes.c#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/at91rm9200_lowlevel.c#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/at91rm9200_lowlevel.h#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/debug_io.c#3 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/debug_io.h#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/eeprom.c#2 (text+ko) ====

@@ -48,8 +48,9 @@
  * This function does not utilize the page read mode to simplify the code.
  * .KB_C_FN_DEFINITION_END
  */
-void ReadEEPROM(unsigned ee_addr, char *data_addr, unsigned size) {
-
+void
+ReadEEPROM(unsigned ee_addr, char *data_addr, unsigned size)
+{
 	const AT91PS_TWI 	twiPtr = AT91C_BASE_TWI;
 	unsigned int status;
 

==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/eeprom.h#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/emac.c#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/emac.h#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/flash.c#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/flash.h#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/irda.c#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/lcd.c#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/lcd.h#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/led.c#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/led.h#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/linker.cfg#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/main.c#2 (text+ko) ====

@@ -22,15 +22,21 @@
  * END_BLOCK
  ******************************************************************************/
 
+#include "at91rm9200_lowlevel.h"
 #include "debug_io.h"
-#include "at91rm9200_lowlevel.h"
-#include "prompt.h"
 #include "eeprom.h"
+#include "emac.h"
 #include "flash.h"
-#include "spi_flash.h"
+#include "irda.h"
 #include "lcd.h"
 #include "led.h"
-
+#include "lib.h"
+#include "prompt.h"
+#include "processor.h"
+#include "spi_flash.h"
+#include "twsi.h"
+#include "uhp.h"
+#include "xmodem_cmd.h"
 
 /*
  * .KB_C_FN_DEFINITION_START
@@ -39,9 +45,10 @@
  * services all future requests.
  * .KB_C_FN_DEFINITION_END
  */
-int main(void) {
-
-	DebugPrint("\n\rEntry: RAM Monitor v1.3.0\n\r");
+int
+main(void)
+{
+	printf("\r\nEntry: RAM Monitor v1.3.0\r\n");
 
 	InitPrompt();
 

==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/ohci.h#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/p_string.c#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/p_string.h#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/processor.c#2 (text+ko) ====

@@ -21,6 +21,7 @@
 #include "processor.h"
 #include "AT91RM9200.h"
 #include "prompt.h"
+#include "lib.h"
 
 /* ****************************** GLOBALS *************************************/
 
@@ -41,6 +42,76 @@
 
 /*
  * .KB_C_FN_DEFINITION_START
+ * void ReadMem(unsigned address, unsigned length, unsigned size)
+ *  This global function displays a block of memory in size increments.
+ * .KB_C_FN_DEFINITION_END
+ */
+static void
+ReadMem(unsigned address, unsigned length, unsigned size)
+{
+	unsigned	i, perLine, v;
+
+	perLine = 16 / size;
+
+	while (length) {
+		i = perLine;
+
+		if (length < 16) {
+			i = (length/size);
+			length = 0;
+		} else {
+			length -= 16;
+		}
+
+		printf("\r\n(R)0x%x : ", address);
+
+		while (i--) {
+			switch (size) {
+				case 1:
+					v = *(unsigned char*)address;
+					address += 1;
+					break;
+				case 2:
+					v = *(unsigned short*)address;
+					address += 2;
+					break;
+				case 4:
+					v = *(unsigned*)address;
+					address += 4;
+					break;
+				default:
+					return ;
+			}
+			printf("0x%x ", v);
+		}
+	}
+}
+
+
+/*
+ * .KB_C_FN_DEFINITION_START
+ * void WriteMem(unsigned address, unsigned size, unsigned value)
+ *  This global function writes value at address using size width.
+ * .KB_C_FN_DEFINITION_END
+ */
+static void
+WriteMem(unsigned address, unsigned size, unsigned value)
+{
+	switch(size) {
+	case 1:
+		*(char*)address = (char)(value & 0xFF);
+		break;
+	case 2:
+		*(unsigned short*)address = (unsigned short)(value & 0xFFFF);
+		break;
+	case 4:
+		*(unsigned*)address = value;
+		break;
+	}
+}
+
+/*
+ * .KB_C_FN_DEFINITION_START
  * int compare_parse(int argc, char *argv[])
  *  This global function parses text from the command line.
  * .KB_C_FN_DEFINITION_END

==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/processor.h#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/prompt.c#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/prompt.h#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/spi_flash.c#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/spi_flash.h#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/stage1.bin#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/test_uhp.c#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/twsi.c#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/xmodem.c#2 (text+ko) ====


==== //depot/projects/arm/src/sys/boot/arm/at91/ramMonitor/xmodem.h#2 (text+ko) ====



More information about the p4-projects mailing list