Skip to content

Commit 388ae49

Browse files
cromwelldevcromwelldev
cromwelldev
authored and
cromwelldev
committed
UI text placement fix.
Fixed some typos. Display custom bank text under icons. Fix centering text under icons. Fixed freeze when toggling "Hide TSOP icon" option a couple of times. (1.0-1.1 only)Toggling TSOP control setting dynamically redraw menus. (1.0-1.3 only)Added Frosty's VGA mod support. (1.0-1.3 only)Added "Enable VGA" setting toggle in Video settings. Takes effect on reboot. Added Settings change tracker with notification in bottom-right corner of screen. Added "Uncommitted change(s)" Info menu to display all tracked setting changes. Added progress notification when saving settings on flash device Backported forcedeth driver from gpxe-1.0.1. Fixed network interface not working on certain Xbox motherboard in XBE version. Updated LwIP stack to 2.0.1. Updated HTTP server to contrib-2.0.1. Fixed DHCP assign issues. Fixed BIOS upload taking very long in Netflash. Fixed Web server not being transmit to client in Netflash. Added ability to type custom BIOS name for user BIOS banks via Netflash. Reworked Webserver management code to be non-blocking. Fixed Netflash not working for a second BIOS flash without rebooting. Fix EEPROM last resort recover for all Xbox revisions. Added EEPROM sanity check when loading a new EEPROM image. New flash read/write engine. New flash engine is now non-blocking. New flash engine is more descriptive in case of error. Better sanity check on OS update. Starting from this version, OS settings are carried over OS updates. Added OS settings versionning and migration mechanism for settings changes in the future. Added OS settings sanity check before loading into active config. Added simple wear leveling logic for saving settings onto flash. Most effective on 4-KB erasable flash chips (Such as XBlast Lite). BIOS Identifier's structure now reports actual used space in binary BIOS file. Moved CODE section in memory from 0x03A00000 to 0x03800000. Gives more room before hitting VGA framebuffer Code cleanup. Removed useless code, unused variables, etc... Code formatting cleanup. Now builds using latest gcc; either i686-linux-gnu or x86_64-linux-gnu. Removed all normal level warnings during compilation. Centralized reccurent strings. (DEBUG build) Menu entry to read from SMBus Increased heap reserved space Increased stack reserved space corrected stack top pointer Added switch in makefile to generate VGA enabled image by default. "make VGA=1" Added switch in makefile to bypass motherboard rev check on TSOP control setting usage. "make TSOPCTRL=1" Added switch in makefile to generate Debug image with output log to SPI. "make DEBUG=1" Added ability to swap lwip+httpserver implementation folder used for project build. 2bl object builds with -02 switch for max execution speed. Fix 1.0 random reboot.
1 parent cc7a102 commit 388ae49

File tree

945 files changed

+237917
-92874
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

945 files changed

+237917
-92874
lines changed

.cproject

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
</toolChain>
3838
</folderInfo>
3939
<sourceEntries>
40-
<entry excluding="trashcode|lwip/src.old" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
40+
<entry excluding="lwip/src.old|trashcode" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
4141
</sourceEntries>
4242
</configuration>
4343
</storageModule>
@@ -94,7 +94,7 @@
9494
</toolChain>
9595
</folderInfo>
9696
<sourceEntries>
97-
<entry excluding="trashcode|lwip/src.old" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
97+
<entry excluding="lwip/src.old|trashcode" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
9898
</sourceEntries>
9999
</configuration>
100100
</storageModule>

Arduino_debugger/SPI_UART_text_bridge/SPI_UART_text_bridge.ino

+21-40
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2323
//data latched on rising edge and idle clock to low.
2424
//Arduino relay SPI-in data to UART-out. This way, text can be
2525
//picked up in a terminal on your computer.
26-
//Every Arduino board will work with this sketch but prefer one
27-
//that runs on 3.3V instead of the more common 5V.
26+
//Every Arduino board will work with this sketch.
27+
//XBlast IOs are 3.3V but 5V-tolerant.
2828

2929
//Connect GND between Arduino and XBlast
3030
//Connect Arduino pin 10(SS) to XBlast OUT3
@@ -34,7 +34,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
3434

3535
#include <SPI.h>
3636

37-
#define ringBufferSize 1024 //1.5KB buffer
37+
#define ringBufferSize 800 // To accommodate ATMega168 devices with 1KB SRAM
3838
unsigned char buf[ringBufferSize];
3939

4040
unsigned short dataInPos = 0;
@@ -63,51 +63,32 @@ void setup (void)
6363
// SPI interrupt routine
6464
ISR (SPI_STC_vect)
6565
{
66-
if(SPDR == '\0')
66+
if(ringBufRollOver == false || dataInPos < dataOutPos)
6767
{
68-
buf[dataInPos] = '\r';
69-
dataInPos++;
70-
if(dataInPos == ringBufferSize)
71-
{
72-
dataInPos = 0;
73-
ringBufRollOver = true;
74-
}
75-
buf[dataInPos] = '\n';
76-
}
77-
else
78-
{
79-
buf[dataInPos] = SPDR;
80-
}
81-
dataInPos++;
82-
if(dataInPos == ringBufferSize)
83-
{
84-
dataInPos = 0;
85-
ringBufRollOver = true;
68+
// Drop byte if ring buffer is full
69+
buf[dataInPos++] = SPDR;
70+
71+
if(dataInPos >= ringBufferSize)
72+
{
73+
dataInPos = 0;
74+
ringBufRollOver = true;
75+
}
8676
}
8777
}
8878

8979
// main loop - wait for flag set in interrupt routine
9080
void loop (void)
9181
{
92-
unsigned short writeLength;
93-
unsigned short tempPos;
94-
if((dataOutPos != dataInPos) || (dataOutPos == 0 && dataInPos == 0 && ringBufRollOver == true))
95-
{
96-
ringBufRollOver = false;
97-
tempPos = dataOutPos;
98-
if(dataInPos < dataOutPos) //Roll over occured since last occurence
99-
{
100-
writeLength = ringBufferSize - dataOutPos;
101-
dataOutPos = 0;
102-
}
103-
else
82+
while(1)
10483
{
105-
writeLength = dataInPos - dataOutPos;
106-
dataOutPos = dataInPos;
84+
if((dataOutPos != dataInPos) || (dataOutPos == 0 && dataInPos == 0 && ringBufRollOver == true))
85+
{
86+
Serial.write(buf[dataOutPos++]);
87+
if(dataOutPos >= ringBufferSize)
88+
{
89+
ringBufRollOver = false;
90+
}
91+
}
10792
}
108-
109-
Serial.write(buf + tempPos, writeLength);
110-
111-
}
11293
}
11394

CHANGELOG

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
v0.5Beta
2+
UI text placement fix.
3+
Fixed some typos.
4+
Display custom bank text under icons.
5+
Fix centering text under icons.
6+
Fixed freeze when toggling "Hide TSOP icon" option a couple of times.
7+
(1.0-1.1 only)Toggling TSOP control setting dynamically redraw menus.
8+
(1.0-1.3 only)Added Frosty's VGA mod support.
9+
(1.0-1.3 only)Added "Enable VGA" setting toggle in Video settings. Takes effect on reboot.
10+
Added Settings change tracker with notification in bottom-right corner of screen.
11+
Added "Uncommitted change(s)" Info menu to display all tracked setting changes.
12+
Added progress notification when saving settings on flash device
13+
Backported forcedeth driver from gpxe-1.0.1.
14+
Fixed network interface not working on certain Xbox motherboard in XBE version.
15+
Updated LwIP stack to 2.0.1.
16+
Updated HTTP server to contrib-2.0.1.
17+
Fixed DHCP assign issues.
18+
Fixed BIOS upload taking very long in Netflash.
19+
Fixed Web server not being transmit to client in Netflash.
20+
Added ability to type custom BIOS name for user BIOS banks via Netflash.
21+
Reworked Webserver management code to be non-blocking.
22+
Fixed Netflash not working for a second BIOS flash without rebooting.
23+
Fix EEPROM last resort recover for all Xbox revisions.
24+
Added EEPROM sanity check when loading a new EEPROM image.
25+
New flash read/write engine.
26+
New flash engine is now non-blocking.
27+
New flash engine is more descriptive in case of error.
28+
Better sanity check on OS update.
29+
Starting from this version, OS settings are carried over OS updates.
30+
Added OS settings versionning and migration mechanism for settings changes in the future.
31+
Added OS settings sanity check before loading into active config.
32+
Added simple wear leveling logic for saving settings onto flash. Most effective on 4-KB erasable flash chips (Such as XBlast Lite).
33+
BIOS Identifier's structure now reports actual used space in binary BIOS file.
34+
Moved CODE section in memory from 0x03A00000 to 0x03800000. Gives more room before hitting VGA framebuffer
35+
Code cleanup. Removed useless code, unused variables, etc...
36+
Code formatting cleanup.
37+
Now builds using latest gcc; either i686-linux-gnu or x86_64-linux-gnu.
38+
Removed all normal level warnings during compilation.
39+
Centralized reccurent strings.
40+
(DEBUG build) Menu entry to read from SMBus
41+
Increased heap reserved space
42+
Increased stack reserved space
43+
corrected stack top pointer
44+
Added switch in makefile to generate VGA enabled image by default. "make VGA=1"
45+
Added switch in makefile to bypass motherboard rev check on TSOP control setting usage. "make TSOPCTRL=1"
46+
Added switch in makefile to generate Debug image with output log to SPI. "make DEBUG=1"
47+
Added ability to swap lwip+httpserver implementation folder used for project build.
48+
49+
v0.31Beta
50+
-Fixed EEPROM encryption issues
51+
-Fixed FRAG issue when no XBlast-compatible hardware is detected on the LPC port.
52+
53+
v0.3Beta
54+
-Print detected CPU frequency on main menu
55+
-Side-load JPEG backdrop and icon set from HDD
56+
-Lock/Unlock hard drive from network
57+
-Update EEPROM from network
58+
-EEPROM version re-encoding to match host system
59+
-Improved IDE initialization procedure
60+
-Really basic S.M.A.R.T. hard drive diagnostic
61+
-Support for 8 to 20 characters per line LCDs
62+
-Support for 1 to 4 lines character LCDs
63+
-Script engine
64+
-Ability to run a script at boot
65+
-Ability to run a script at BIOS bank launch
66+
-Temperature reading on 1.6(b) consoles

Makefile

+47-12
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,26 @@ GCC_3.3 := $(shell expr `$(CC) -dumpversion` \>= 3.3)
88
GCC_4.2 := $(shell expr `$(CC) -dumpversion` \>= 4.2)
99

1010
DEBUG ?= 0 #run make with "DEBUG=1" argument to enable extra debug
11+
TSOPCTRL ?= 0 #Override TSOP control availability based on Xbox Revision
12+
VGA ?= 0 #Generates VGA enabled by default image. Does not override existing setting in flash.
1113
ETHERBOOT := yes
14+
LWIPFOLDER := lwip-2.0.1
1215

1316
INCLUDE = -I$(TOPDIR)/grub -I$(TOPDIR)/include -I$(TOPDIR)/ -I./ -I$(TOPDIR)/fs/cdrom \
1417
-I$(TOPDIR)/fs/fatx -I$(TOPDIR)/fs/grub -I$(TOPDIR)/lib/eeprom -I$(TOPDIR)/lib/crypt \
1518
-I$(TOPDIR)/drivers/video -I$(TOPDIR)/drivers/ide -I$(TOPDIR)/drivers/flash -I$(TOPDIR)/lib/misc \
1619
-I$(TOPDIR)/boot_xbe/ -I$(TOPDIR)/fs/grub -I$(TOPDIR)/lib/cromwell/font \
1720
-I$(TOPDIR)/startuploader -I$(TOPDIR)/drivers/cpu -I$(TOPDIR)/menu \
1821
-I$(TOPDIR)/lib/jpeg/ -I$(TOPDIR)/menu/actions -I$(TOPDIR)/menu/textmenu \
19-
-I$(TOPDIR)/menu/iconmenu -I$(TOPDIR)/lwip -I$(TOPDIR)/lwip/src/include \
20-
-I$(TOPDIR)/lwip/src/include/ipv4
22+
-I$(TOPDIR)/menu/iconmenu -I$(TOPDIR)/$(LWIPFOLDER) -I$(TOPDIR)/$(LWIPFOLDER)/src/include \
23+
-I$(TOPDIR)/$(LWIPFOLDER)/src/include/ipv4 -I$(TOPDIR)/$(LWIPFOLDER)/src/include/lwip/apps
2124

2225
#These are intended to be non-overridable.
2326
CROM_CFLAGS=$(INCLUDE)
2427

2528
#You can override these if you wish.
26-
CFLAGS= -Os -march=pentium -m32 -pipe -fomit-frame-pointer -Wstrict-prototypes -DIPv4 -fpack-struct -Wreturn-type -ffreestanding
27-
29+
CFLAGS= -Os -march=pentium -m32 -Werror -Wstrict-prototypes -Wreturn-type -pipe -fomit-frame-pointer -DIPv4 -fpack-struct -ffreestanding
30+
2BL_CFLAGS= -O2 -march=pentium -m32 -Werror -Wstrict-prototypes -Wreturn-type -pipe -fomit-frame-pointer -fpack-struct -ffreestanding
2831
# add the option for gcc 3.3 only, again, non-overridable
2932
ifeq ($(GCC_3.3), 1)
3033
CROM_CFLAGS += -fno-zero-initialized-in-bss
@@ -41,7 +44,7 @@ OBJCOPY = ${PREFIX}objcopy
4144
export CC
4245

4346
TOPDIR := $(shell /bin/pwd)
44-
SUBDIRS = boot_rom fs drivers lib boot menu lwip xblast
47+
SUBDIRS = fs drivers lib boot menu $(LWIPFOLDER) xblast
4548
#### Etherboot specific stuff
4649
ifeq ($(ETHERBOOT), yes)
4750
ETH_SUBDIRS = etherboot
@@ -58,6 +61,15 @@ DEBUG_FLAGS = -DDEV_FEATURES -DSPITRACE
5861
CROM_CFLAGS += $(DEBUG_FLAGS)
5962
ETH_CFLAGS += $(DEBUG_FLAGS)
6063
endif
64+
65+
ifeq ($(TSOPCTRL), 1)
66+
CROM_CFLAGS += -DCUSTOM_TSOP
67+
ETH_CFLAGS += -DCUSTOM_TSOP
68+
endif
69+
70+
ifeq ($(VGA), 1)
71+
CROM_CFLAGS += -DDEFAULT_ENABLE_VGA
72+
endif
6173
endif
6274

6375
LDFLAGS-ROM = -s -S -T $(TOPDIR)/scripts/ldscript-crom.ld
@@ -106,6 +118,7 @@ OBJECTS-CROM += $(TOPDIR)/obj/BootVideoHelpers.o
106118
OBJECTS-CROM += $(TOPDIR)/obj/cromString.o
107119
OBJECTS-CROM += $(TOPDIR)/obj/string.o
108120
OBJECTS-CROM += $(TOPDIR)/obj/sortHelpers.o
121+
OBJECTS-CROM += $(TOPDIR)/obj/rand.o
109122
OBJECTS-CROM += $(TOPDIR)/obj/vsprintf.o
110123
OBJECTS-CROM += $(TOPDIR)/obj/timeManagement.o
111124
OBJECTS-CROM += $(TOPDIR)/obj/Gentoox.o
@@ -132,6 +145,7 @@ OBJECTS-CROM += $(TOPDIR)/obj/LCDMenuInit.o
132145
OBJECTS-CROM += $(TOPDIR)/obj/EepromEditMenuInit.o
133146
#OBJECTS-CROM += $(TOPDIR)/obj/BFMBootMenuInit.o
134147
OBJECTS-CROM += $(TOPDIR)/obj/XBlastScriptMenuInit.o
148+
OBJECTS-CROM += $(TOPDIR)/obj/UncommittedChangesMenuInit.o
135149
OBJECTS-CROM += $(TOPDIR)/obj/MenuActions.o
136150
OBJECTS-CROM += $(TOPDIR)/obj/VideoMenuActions.o
137151
OBJECTS-CROM += $(TOPDIR)/obj/InfoMenuActions.o
@@ -141,7 +155,7 @@ OBJECTS-CROM += $(TOPDIR)/obj/HDDMenuActions.o
141155
OBJECTS-CROM += $(TOPDIR)/obj/CDMenuActions.o
142156
OBJECTS-CROM += $(TOPDIR)/obj/LEDMenuActions.o
143157
OBJECTS-CROM += $(TOPDIR)/obj/ToolsMenuActions.o
144-
OBJECTS-CROM += $(TOPDIR)/obj/Confirm.o
158+
#OBJECTS-CROM += $(TOPDIR)/obj/Confirm.o
145159
OBJECTS-CROM += $(TOPDIR)/obj/OnScreenKeyboard.o
146160
OBJECTS-CROM += $(TOPDIR)/obj/ModchipMenuActions.o
147161
OBJECTS-CROM += $(TOPDIR)/obj/LCDMenuActions.o
@@ -151,6 +165,7 @@ OBJECTS-CROM += $(TOPDIR)/obj/NetworkMenuActions.o
151165
OBJECTS-CROM += $(TOPDIR)/obj/EepromEditMenuActions.o
152166
#OBJECTS-CROM += $(TOPDIR)/obj/BFMBootMenuActions.o
153167
OBJECTS-CROM += $(TOPDIR)/obj/XBlastScriptMenuActions.o
168+
OBJECTS-CROM += $(TOPDIR)/obj/UncommittedChangesMenuActions.o
154169
OBJECTS-CROM += $(TOPDIR)/obj/LoadLinux.o
155170
OBJECTS-CROM += $(TOPDIR)/obj/setup.o
156171
OBJECTS-CROM += $(TOPDIR)/obj/iso9660.o
@@ -160,20 +175,24 @@ OBJECTS-CROM += $(TOPDIR)/obj/microcode.o
160175
OBJECTS-CROM += $(TOPDIR)/obj/ioapic.o
161176
OBJECTS-CROM += $(TOPDIR)/obj/BootInterrupts.o
162177
OBJECTS-CROM += $(TOPDIR)/obj/nanojpeg.o
163-
OBJECTS-CROM += $(TOPDIR)/obj/BootFlash.o
164-
OBJECTS-CROM += $(TOPDIR)/obj/BootFlashUi.o
178+
OBJECTS-CROM += $(TOPDIR)/obj/FlashLowLevel.o
179+
OBJECTS-CROM += $(TOPDIR)/obj/FlashDriver.o
180+
OBJECTS-CROM += $(TOPDIR)/obj/FlashUi.o
165181
OBJECTS-CROM += $(TOPDIR)/obj/BootEEPROM.o
166182
OBJECTS-CROM += $(TOPDIR)/obj/BootLPCMod.o
167183
OBJECTS-CROM += $(TOPDIR)/obj/BootLCD.o
168184
OBJECTS-CROM += $(TOPDIR)/obj/BootFATX.o
169185
OBJECTS-CROM += $(TOPDIR)/obj/ProgressBar.o
170186
OBJECTS-CROM += $(TOPDIR)/obj/ConfirmDialog.o
171187
OBJECTS-CROM += $(TOPDIR)/obj/md5.o
188+
OBJECTS-CROM += $(TOPDIR)/obj/crc32.o
172189
OBJECTS-CROM += $(TOPDIR)/obj/strtol.o
173190
OBJECTS-CROM += $(TOPDIR)/obj/xblastScriptEngine.o
174191
OBJECTS-CROM += $(TOPDIR)/obj/xblastSettings.o
175192
OBJECTS-CROM += $(TOPDIR)/obj/xblastSettingsChangeTracker.o
176193
OBJECTS-CROM += $(TOPDIR)/obj/xblastSettingsImportExport.o
194+
OBJECTS-CROM += $(TOPDIR)/obj/PowerManagement.o
195+
OBJECTS-CROM += $(TOPDIR)/obj/HardwareIdentifier.o
177196
#USB
178197
OBJECTS-CROM += $(TOPDIR)/obj/config.o
179198
OBJECTS-CROM += $(TOPDIR)/obj/hcd-pci.o
@@ -201,8 +220,9 @@ OBJECTS-CROM += $(TOPDIR)/obj/xbox_pci.o
201220
OBJECTS-CROM += $(TOPDIR)/obj/etherboot_config.o
202221
endif
203222

204-
OBJECTS-LWIP = $(addprefix $(TOPDIR)/obj/,def.o ethernetif.o inet_chksum.o init.o mem.o memp.o netif.o pbuf.o raw.o stats.o sys.o tcp.o tcp_in.o tcp_out.o timers.o udp.o dhcp.o icmp.o ip.o inet.o ip_addr.o ip_frag.o etharp.o webserver.o)# tcpListener.o netflash.o webupdate.o)#netboot.o webboot.o webupdate.o)
205-
#OBJECTS-LWIP = $(addprefix $(TOPDIR)/obj/,ebd.o mem.o memp.o netif.o pbuf.o raw.o stats.o sys.o tcp.o tcp_in.o tcp_out.o udp.o dhcp.o icmp.o ip.o inet.o ip_addr.o ip_frag.o etharp.o webserver.o)# tcpListener.o netflash.o webupdate.o)#netboot.o webboot.o webupdate.o)
223+
OBJECTS-LWIP = $(addprefix $(TOPDIR)/obj/,def.o err.o ethernetif.o inet_chksum.o init.o mem.o memp.o netif.o pbuf.o raw.o stats.o sys.o tcp.o tcp_in.o tcp_out.o timeouts.o udp.o dhcp.o icmp.o ip4.o ip4_addr.o ip4_frag.o etharp.o fs.o httpd.o ethernet.o ip.o)
224+
#OBJECTS-LWIP = $(addprefix $(TOPDIR)/obj/,def.o err.o ethernetif.o inet_chksum.o init.o mem.o memp.o netif.o pbuf.o raw.o stats.o sys.o tcp.o tcp_in.o tcp_out.o timers.o udp.o dhcp.o icmp.o ip.o inet.o ip_addr.o ip_frag.o etharp.o httpd.o)
225+
206226

207227
OBJECTS-CROM += $(OBJECTS-LWIP)
208228

@@ -218,7 +238,7 @@ endif
218238

219239
.PHONY: all clean
220240

221-
all: clean
241+
all: makefsdata
222242
@$(MAKE) -j16 --no-print-directory resources $(BOOT_ETH_SUBDIRS) cromsubdirs xbeboot xromwell.xbe vml_startup vmlboot $(BOOT_ETH_DIR) obj/image-crom.bin cromwell.bin imagecompress 256KBBinGen crcbin
223243

224244
ifeq ($(ETHERBOOT), yes)
@@ -230,6 +250,10 @@ endif
230250
cromsubdirs: $(patsubst %, _dir_%, $(SUBDIRS))
231251
$(patsubst %, _dir_%, $(SUBDIRS)) : dummy
232252
$(MAKE) CFLAGS="$(CFLAGS) $(CROM_CFLAGS)" -C $(patsubst _dir_%, %, $@)
253+
254+
2blsubdirs: $(patsubst %, _dir_%, boot_rom)
255+
$(patsubst %, _dir_%, boot_rom) : dummy
256+
$(MAKE) CFLAGS="$(2BL_CFLAGS) $(INCLUDE)" -C $(patsubst _dir_%, %, $@)
233257

234258
dummy:
235259

@@ -252,7 +276,9 @@ clean:
252276
rm -f $(TOPDIR)/bin/imagebld*
253277
rm -f $(TOPDIR)/bin/crcbin*
254278
rm -f $(TOPDIR)/bin/scriptChecker*
279+
rm -f $(TOPDIR)/bin/makefsdata
255280
rm -f $(TOPDIR)/boot_vml/disk/vmlboot
281+
rm -f $(TOPDIR)/$(LWIPFOLDER)/src/apps/httpd/fsdata.c
256282
rm -f boot_eth/ethboot
257283
mkdir -p $(TOPDIR)/xbe
258284
mkdir -p $(TOPDIR)/image
@@ -287,7 +313,7 @@ xromwell.xbe: xbeboot
287313
xbeboot:
288314
$(CC) ${CFLAGS} -c -o ${OBJECTS-XBE} boot_xbe/xbeboot.S
289315

290-
cromwell.bin: cromsubdirs
316+
cromwell.bin: cromsubdirs 2blsubdirs
291317
${LD} -o $(TOPDIR)/obj/2lbimage.elf ${OBJECTS-ROMBOOT} ${LDFLAGS-ROMBOOT} -Map $(TOPDIR)/obj/2lbimage.map
292318
${OBJCOPY} --output-target=binary --strip-all $(TOPDIR)/obj/2lbimage.elf $(TOPDIR)/obj/2blimage.bin
293319

@@ -316,3 +342,12 @@ imagecompress: obj/image-crom.bin bin/imagebld
316342
256KBBinGen: imagecompress crcbin cromwell.bin
317343
bin/imagebld -rom obj/2blimage.bin obj/c.gz image/cromwell.bin
318344
bin/crcbin image/cromwell.bin image/crcwell.bin
345+
346+
makefsdata: clean
347+
gcc -I"$(TOPDIR)/$(LWIPFOLDER)" -I"$(TOPDIR)/$(LWIPFOLDER)/src/include" -O2 -Wall -c -o "obj/makefsdata.o" "$(TOPDIR)/$(LWIPFOLDER)/src/apps/httpd/makefsdata/makefsdata.c"
348+
gcc -O2 -Wall -c -o "obj/findfirst.o" "$(TOPDIR)/$(LWIPFOLDER)/src/apps/httpd/makefsdata/findfirst.c"
349+
gcc -O2 -Wall -c -o "obj/spec.o" "$(TOPDIR)/$(LWIPFOLDER)/src/apps/httpd/makefsdata/spec.c"
350+
gcc -o bin/makefsdata obj/findfirst.o obj/spec.o obj/makefsdata.o
351+
bin/makefsdata "$(TOPDIR)/$(LWIPFOLDER)/src/apps/httpd/fs" -e -nossi
352+
mv fsdata.c "$(TOPDIR)/$(LWIPFOLDER)/src/apps/httpd/fsdata.c"
353+

0 commit comments

Comments
 (0)