
modified and added FILES -----------------------------------------------

1. modified files
	stm32_lib/c_only_md.ld
	Makefile
	main.c

2. added files
	stm32.h
	sysclk_config.h

3. added files from ELM by Mr.ChaN
	pf_disk.c
	pf_disk.h
	integer.h
	pff.c
	pff.h

	-> refer to http://elm-chan.org/fsw/ff/00index_p.html

4. added files from STmicro
	core_cm3.h
	core_cmFunc.h
	core_cmInstr.h
	stm32f10x.h
	system_stm32f10x.h

	-> files from STM32F10x_StdPeriph_Lib_V3.5.0

Thanks -----------------------------------------------------------------

Leaflabs (http://leaflabs.com/)
Mr.ChaN  (http://elm-chan.org/)
STmicro  (http://www.st.com/)




build log --------------------------------------------------------------

$ make clean all
mkdir -p build/stm32_lib
mkdir -p build/usb_lib
--
-------- begin --------
build/usb.o build/usb_callbacks.o build/usb_descriptor.o build/main.o build/hard
ware.o build/dfu.o build/usb_lib/usb_regs.o build/usb_lib/usb_int.o build/usb_li
b/usb_init.o build/usb_lib/usb_core.o build/usb_lib/usb_mem.o

Cleaning project:
rm -f build/maple_boot.hex
rm -f build/maple_boot.bin
rm -f build/maple_boot.obj
rm -f build/maple_boot.elf
rm -f build/maple_boot.map
rm -f build/maple_boot.obj
rm -f build/maple_boot.a90
rm -f build/maple_boot.sym
rm -f build/maple_boot.lnk
rm -f build/maple_boot.lss
rm -f  build/usb.o  build/usb_callbacks.o  build/usb_descriptor.o  build/main.o
 build/hardware.o  build/dfu.o  build/usb_lib/usb_regs.o  build/usb_lib/usb_int.
o  build/usb_lib/usb_init.o  build/usb_lib/usb_core.o  build/usb_lib/usb_mem.o
build/pff.o  build/pf_disk.o
rm -f  build/stm32_lib/c_only_startup.o  build/stm32_lib/cortexm3_macro.o
rm -f  build/stm32_lib/c_only_startup.lst  build/stm32_lib/cortexm3_macro.lst  b
uild/usb.lst  build/usb_callbacks.lst  build/usb_descriptor.lst  build/main.lst
 build/hardware.lst  build/dfu.lst  build/usb_lib/usb_regs.lst  build/usb_lib/us
b_int.lst  build/usb_lib/usb_init.lst  build/usb_lib/usb_core.lst  build/usb_lib
/usb_mem.lst
rm -f flash/tmpflash.bin
rm -f .dep/*
Errors: none
-------- end --------

arm-none-eabi-gcc.exe (Sourcery CodeBench Lite 2011.09-69) 4.6.1
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Compiling C: usb.c
arm-none-eabi-gcc -c -mthumb -mcpu=cortex-m3 -mthumb-interwork -I. -g -ffunction
-sections -fdata-sections -Wall -Wimplicit -Wcast-align -Wpointer-arith -Wswitch
 -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=build/usb.lst -I.
/stm32_lib -I./usb_lib -MD -MP -MF .dep/usb.o.d -O0 usb.c -o build/usb.o

Compiling C: usb_callbacks.c
arm-none-eabi-gcc -c -mthumb -mcpu=cortex-m3 -mthumb-interwork -I. -g -ffunction
-sections -fdata-sections -Wall -Wimplicit -Wcast-align -Wpointer-arith -Wswitch
 -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=build/usb_callbac
ks.lst -I./stm32_lib -I./usb_lib -MD -MP -MF .dep/usb_callbacks.o.d -O0 usb_call
backs.c -o build/usb_callbacks.o

Compiling C: usb_descriptor.c
arm-none-eabi-gcc -c -mthumb -mcpu=cortex-m3 -mthumb-interwork -I. -g -ffunction
-sections -fdata-sections -Wall -Wimplicit -Wcast-align -Wpointer-arith -Wswitch
 -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=build/usb_descrip
tor.lst -I./stm32_lib -I./usb_lib -MD -MP -MF .dep/usb_descriptor.o.d -O0 usb_de
scriptor.c -o build/usb_descriptor.o
usb_descriptor.c:195:28: warning: initialization makes integer from pointer with
out a cast [enabled by default]

Compiling C: main.c
arm-none-eabi-gcc -c -mthumb -mcpu=cortex-m3 -mthumb-interwork -I. -g -ffunction
-sections -fdata-sections -Wall -Wimplicit -Wcast-align -Wpointer-arith -Wswitch
 -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=build/main.lst -I
./stm32_lib -I./usb_lib -MD -MP -MF .dep/main.o.d -O0 main.c -o build/main.o

Compiling C: hardware.c
arm-none-eabi-gcc -c -mthumb -mcpu=cortex-m3 -mthumb-interwork -I. -g -ffunction
-sections -fdata-sections -Wall -Wimplicit -Wcast-align -Wpointer-arith -Wswitch
 -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=build/hardware.ls
t -I./stm32_lib -I./usb_lib -MD -MP -MF .dep/hardware.o.d -O0 hardware.c -o buil
d/hardware.o

Compiling C: dfu.c
arm-none-eabi-gcc -c -mthumb -mcpu=cortex-m3 -mthumb-interwork -I. -g -ffunction
-sections -fdata-sections -Wall -Wimplicit -Wcast-align -Wpointer-arith -Wswitch
 -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=build/dfu.lst -I.
/stm32_lib -I./usb_lib -MD -MP -MF .dep/dfu.o.d -O0 dfu.c -o build/dfu.o
dfu.c: In function 'dfuCopyBufferToExec':
dfu.c:329:23: warning: cast increases required alignment of target type [-Wcast-
align]
dfu.c:337:35: warning: cast increases required alignment of target type [-Wcast-
align]
dfu.c:337:7: warning: passing argument 1 of 'flashWriteWord' makes integer from
pointer without a cast [enabled by default]
hardware.h:179:6: note: expected 'u32' but argument is of type 'u32 *'

Compiling C: usb_lib/usb_regs.c
arm-none-eabi-gcc -c -mthumb -mcpu=cortex-m3 -mthumb-interwork -I. -g -ffunction
-sections -fdata-sections -Wall -Wimplicit -Wcast-align -Wpointer-arith -Wswitch
 -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=build/usb_lib/usb
_regs.lst -I./stm32_lib -I./usb_lib -MD -MP -MF .dep/usb_regs.o.d -O0 usb_lib/us
b_regs.c -o build/usb_lib/usb_regs.o
usb_lib/usb_regs.c: In function 'ToggleDTOG_RX':
usb_lib/usb_regs.c:401:3: warning: suggest parentheses around arithmetic in oper
and of '|' [-Wparentheses]
usb_lib/usb_regs.c: In function 'ToggleDTOG_TX':
usb_lib/usb_regs.c:412:3: warning: suggest parentheses around arithmetic in oper
and of '|' [-Wparentheses]
usb_lib/usb_regs.c: In function 'ClearDTOG_RX':
usb_lib/usb_regs.c:423:3: warning: suggest parentheses around arithmetic in oper
and of '|' [-Wparentheses]
usb_lib/usb_regs.c: In function 'ClearDTOG_TX':
usb_lib/usb_regs.c:434:3: warning: suggest parentheses around arithmetic in oper
and of '|' [-Wparentheses]
usb_lib/usb_regs.c: In function 'SetEPAddress':
usb_lib/usb_regs.c:446:3: warning: suggest parentheses around arithmetic in oper
and of '|' [-Wparentheses]
usb_lib/usb_regs.c: In function 'FreeUserBuffer':
usb_lib/usb_regs.c:711:5: warning: suggest parentheses around arithmetic in oper
and of '|' [-Wparentheses]
usb_lib/usb_regs.c:715:5: warning: suggest parentheses around arithmetic in oper
and of '|' [-Wparentheses]

Compiling C: usb_lib/usb_int.c
arm-none-eabi-gcc -c -mthumb -mcpu=cortex-m3 -mthumb-interwork -I. -g -ffunction
-sections -fdata-sections -Wall -Wimplicit -Wcast-align -Wpointer-arith -Wswitch
 -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=build/usb_lib/usb
_int.lst -I./stm32_lib -I./usb_lib -MD -MP -MF .dep/usb_int.o.d -O0 usb_lib/usb_
int.c -o build/usb_lib/usb_int.o

Compiling C: usb_lib/usb_init.c
arm-none-eabi-gcc -c -mthumb -mcpu=cortex-m3 -mthumb-interwork -I. -g -ffunction
-sections -fdata-sections -Wall -Wimplicit -Wcast-align -Wpointer-arith -Wswitch
 -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=build/usb_lib/usb
_init.lst -I./stm32_lib -I./usb_lib -MD -MP -MF .dep/usb_init.o.d -O0 usb_lib/us
b_init.c -o build/usb_lib/usb_init.o

Compiling C: usb_lib/usb_core.c
arm-none-eabi-gcc -c -mthumb -mcpu=cortex-m3 -mthumb-interwork -I. -g -ffunction
-sections -fdata-sections -Wall -Wimplicit -Wcast-align -Wpointer-arith -Wswitch
 -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=build/usb_lib/usb
_core.lst -I./stm32_lib -I./usb_lib -MD -MP -MF .dep/usb_core.o.d -O0 usb_lib/us
b_core.c -o build/usb_lib/usb_core.o
usb_lib/usb_core.c: In function 'SetDeviceAddress':
usb_lib/usb_core.c:1000:5: warning: suggest parentheses around arithmetic in ope
rand of '|' [-Wparentheses]

Compiling C: usb_lib/usb_mem.c
arm-none-eabi-gcc -c -mthumb -mcpu=cortex-m3 -mthumb-interwork -I. -g -ffunction
-sections -fdata-sections -Wall -Wimplicit -Wcast-align -Wpointer-arith -Wswitch
 -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=build/usb_lib/usb
_mem.lst -I./stm32_lib -I./usb_lib -MD -MP -MF .dep/usb_mem.o.d -O0 usb_lib/usb_
mem.c -o build/usb_lib/usb_mem.o
usb_lib/usb_mem.c: In function 'PMAToUserBufferCopy':
usb_lib/usb_mem.c:68:6: warning: cast increases required alignment of target typ
e [-Wcast-align]

Compiling C: pff.c
arm-none-eabi-gcc -c -mthumb -mcpu=cortex-m3 -mthumb-interwork -I. -g -ffunction
-sections -fdata-sections -Wall -Wimplicit -Wcast-align -Wpointer-arith -Wswitch
 -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=build/pff.lst -I.
/stm32_lib -I./usb_lib -MD -MP -MF .dep/pff.o.d -Os pff.c -o build/pff.o

Compiling C: pf_disk.c
arm-none-eabi-gcc -c -mthumb -mcpu=cortex-m3 -mthumb-interwork -I. -g -ffunction
-sections -fdata-sections -Wall -Wimplicit -Wcast-align -Wpointer-arith -Wswitch
 -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=build/pf_disk.lst
 -I./stm32_lib -I./usb_lib -MD -MP -MF .dep/pf_disk.o.d -Os pf_disk.c -o build/p
f_disk.o
In file included from stm32.h:23:0,
                 from pf_disk.c:24:
sysclk_config.h:69:8: warning: #warning "AHBClock > 36MHz." [-Wcpp]
pf_disk.c: In function 'disk_readp':
pf_disk.c:493:7: warning: assignment from incompatible pointer type [enabled by
default]

Assembling: stm32_lib/c_only_startup.s
arm-none-eabi-gcc -c -mthumb -mcpu=cortex-m3 -mthumb-interwork -I. -x assembler-
with-cpp -Wa,-adhlns=build/stm32_lib/c_only_startup.lst stm32_lib/c_only_startup
.s -o build/stm32_lib/c_only_startup.o

Assembling: stm32_lib/cortexm3_macro.s
arm-none-eabi-gcc -c -mthumb -mcpu=cortex-m3 -mthumb-interwork -I. -x assembler-
with-cpp -Wa,-adhlns=build/stm32_lib/cortexm3_macro.lst stm32_lib/cortexm3_macro
.s -o build/stm32_lib/cortexm3_macro.o

echo  build/usb.o  build/usb_callbacks.o  build/usb_descriptor.o  build/main.o
build/hardware.o  build/dfu.o  build/usb_lib/usb_regs.o  build/usb_lib/usb_int.o
  build/usb_lib/usb_init.o  build/usb_lib/usb_core.o  build/usb_lib/usb_mem.o  b
uild/pff.o  build/pf_disk.o
build/usb.o build/usb_callbacks.o build/usb_descriptor.o build/main.o build/hard
ware.o build/dfu.o build/usb_lib/usb_regs.o build/usb_lib/usb_int.o build/usb_li
b/usb_init.o build/usb_lib/usb_core.o build/usb_lib/usb_mem.o build/pff.o build/
pf_disk.o
Linking: build/maple_boot.elf
arm-none-eabi-gcc -mthumb -mcpu=cortex-m3 -mthumb-interwork -I. -g -ffunction-se
ctions -fdata-sections -Wall -Wimplicit -Wcast-align -Wpointer-arith -Wswitch -W
redundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=build/build/usb.lst
-I./stm32_lib -I./usb_lib -MD -MP -MF .dep/maple_boot.elf.d  build/stm32_lib/c_o
nly_startup.o  build/stm32_lib/cortexm3_macro.o  build/usb.o  build/usb_callback
s.o  build/usb_descriptor.o  build/main.o  build/hardware.o  build/dfu.o  build/
usb_lib/usb_regs.o  build/usb_lib/usb_int.o  build/usb_lib/usb_init.o  build/usb
_lib/usb_core.o  build/usb_lib/usb_mem.o  build/pff.o  build/pf_disk.o --output
build/maple_boot.elf -nostartfiles -Wl,-Map=build/maple_boot.map,--cref,--gc-sec
tions -lc -lgcc -Tstm32_lib/c_only_md.ld

Creating load file for Flash: build/maple_boot.bin
arm-none-eabi-objcopy -O binary build/maple_boot.elf build/maple_boot.bin

Creating Extended Listing: build/maple_boot.lss
arm-none-eabi-objdump -h -S -D build/maple_boot.elf > build/maple_boot.lss

Creating Symbol Table: build/maple_boot.sym
arm-none-eabi-nm -n build/maple_boot.elf > build/maple_boot.sym

Size after:
build/maple_boot.elf  :
section                          size         addr
.isr_vector                      0xf0    0x8000000
.text                          0x462c    0x80000f0
.data                           0x1d8   0x20000000
.bss                            0x47c   0x200001d8
.bss.bDeviceState                 0x4   0x20000654
.bss.bIntPackSOF                  0x1   0x20000658
.bss.userFlash                    0x1   0x20000659
.bss.dfuBusy                      0x1   0x2000065a
.bss.userFirmwareLen              0x4   0x2000065c
.bss.thisBlockLen                 0x2   0x20000660
.bss.Data_Mul_MaxPacketSize       0x1   0x20000662
.bss.FatFs                        0x4   0x20000664
.bss.Timer1                       0x4   0x20000668
.bss.Timer2                       0x4   0x2000066c
.bss.CardType                     0x1   0x20000670
._usrstack                      0x103   0x20000671
.comment                         0x30          0x0
.ARM.attributes                  0x2f          0x0
.debug_aranges                  0x630          0x0
.debug_info                    0x510c          0x0
.debug_abbrev                  0x11bb          0x0
.debug_line                    0x1b3f          0x0
.debug_frame                   0x1390          0x0
.debug_str                     0x18ec          0x0
.debug_loc                     0x2a70          0x0
.debug_ranges                   0x650          0x0
Total                         0x1305f

