diff --git a/ChangeLog b/ChangeLog index 63625d6..7ee98cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2013-02-19 Niibe Yutaka + * regnual/regnual.ld (MEMORY): Fix address of regnual. + + * regnual/Makefile (MCFLAGS): Remove -mfix-cortex-m3-ldrd. + (CFLAGS): Add output to .lst. + * src/Makefile.in (MCFLAGS): Remove. + * src/sha256.c: Update from NeuG 0.05. * ChibiOS_2.0.8: Remove. diff --git a/regnual/Makefile b/regnual/Makefile index 154877b..2a3f333 100644 --- a/regnual/Makefile +++ b/regnual/Makefile @@ -2,7 +2,7 @@ PROJECT = regnual -OBJS = regnual.o usb_lld.o sys.o +OBJS = regnual.o usb_stm32f103.o sys.o LDSCRIPT= regnual.ld ################################### @@ -18,10 +18,11 @@ OBJDUMP = $(TRGT)objdump TOPT = -mthumb -DTHUMB -mno-thumb-interwork # Define C warning options here CWARN = -Wall -Wextra -Wstrict-prototypes -MCFLAGS= -mcpu=$(MCU) -mfix-cortex-m3-ldrd +MCFLAGS= -mcpu=$(MCU) DEFS = -DFREE_STANDING CFLAGS = -O2 -g +CFLAGS += -Wa,-alms=$(notdir $(<:.c=.lst)) CFLAGS += $(CWARN) -I . -I ../src -fno-common $(MCFLAGS) $(TOPT) $(DEFS) LDFLAGS = -T$(LDSCRIPT) -nostartfiles $(MCFLAGS) $(TOPT) @@ -37,8 +38,8 @@ regnual.hex: regnual.elf $(OBJCOPY) -Obinary regnual.elf regnual.bin $(OBJCOPY) -Oihex regnual.elf regnual.hex -usb_lld.o: ../src/usb_lld.c - $(CC) $(CFLAGS) -c -o usb_lld.o ../src/usb_lld.c +usb_stm32f103.o: ../src/usb_stm32f103.c + $(CC) $(CFLAGS) -c -o usb_stm32f103.o ../src/usb_stm32f103.c regnual.elf: $(OBJS) $(LDSCRIPT) $(CC) $(LDFLAGS) -o regnual.elf $(OBJS) diff --git a/regnual/b/regnual.bin b/regnual/b/regnual.bin new file mode 100755 index 0000000..57a748a Binary files /dev/null and b/regnual/b/regnual.bin differ diff --git a/regnual/b/regnual.elf b/regnual/b/regnual.elf new file mode 100755 index 0000000..b8d78e9 Binary files /dev/null and b/regnual/b/regnual.elf differ diff --git a/regnual/b/regnual.hex b/regnual/b/regnual.hex new file mode 100644 index 0000000..5ab373a --- /dev/null +++ b/regnual/b/regnual.hex @@ -0,0 +1,271 @@ +:020000042000DA +:1014000000500020492200204122002041220020DB +:1014100041220020412200204122002045220020BC +:1014200045220020452200204522002045220020A0 +:101430004522002045220020452200204522002090 +:101440004522002045220020452200204522002080 +:101450004522002045220020452200204522002070 +:101460004522002045220020452200204522002060 +:101470004522002045220020452200204522002050 +:101480004522002045220020452200204522002040 +:10149000351F0020000000000000000000000000D8 +:1014A00001288CBF00200120704700BF002070473A +:1014B00030B500F07F0483B0402CBDF8185002D046 +:1014C000002003B030BD000626D401290ED0032928 +:1014D0002BD0042901D00529F2D1002DF0D1002A0A +:1014E00031D1D3F1010038BF0020EAE7002AE7D16B +:1014F0005919B1F5807F2EDC184C07D0C1F58072E8 +:101500006018FF21019300F0DBFE019BE0182946E3 +:1015100000F0B0FB0120D4E7B9B10229D0D11048C6 +:10152000042100F0A7FB0120CBE7002DC8D153B95F +:1015300002F50021080200F580730A48984234BF82 +:1015400000200120BDE72846BBE70748082100F03E +:1015500091FB0120B5E71046B3E700BF040000206F +:1015600000000020000002085023002000B50020E9 +:1015700083B000F06DFB802000F076FB00F0A0FA55 +:101580008022402300208DE80C004FF400710246B9 +:1015900000F016FB03B000BD38B500F07F04402C0E +:1015A000BDF8105000D038BD0006FCD401292BD066 +:1015B00003290DD004291BD1002DF4D1002AF2D12A +:1015C000002BF0D1204A136A98472049086038BDA3 +:1015D000002DE8D1002BE6D102F500201B4C1A4A61 +:1015E0000002D369211D4FF480729847206038BDF6 +:1015F0000529D8D1002DD6D1002AD4D1002BD2D1A3 +:101600001149086B8047CEE7002ACCD14FF44050F7 +:10161000C4F202000E4C8160A558131D08324FF42D +:10162000405195FAA5F5B2F5807F0560E358C4F204 +:10163000020193FAA3F30360EED10448096891FA1A +:10164000A1F2026038BD00BF0000000800000020C9 +:1016500004000020012810B5044613D0022817D03A +:10166000032801D0002010BDD2B2032A01D90020E6 +:1016700010BD0A4B03EBC202106B918E00F0FAFA18 +:10168000012010BD0648122100F0F4FA204610BDDA +:101690000448122100F0EEFA012010BD5023002072 +:1016A000582300206C2300200000000000000000F0 +:1016B0000020704770B52B4C002582B02580A460B7 +:1016C000002926D1022B02D0084602B070BD150AAF +:1016D000FAD101061DD510F01F001CD0012829D019 +:1016E000022816D112F0700F13D112F00F00ECD0B7 +:1016F00000F1805C0CF5B85083001888130628D5DB +:1017000010F03000E1D0102829D00221A180012062 +:10171000DBE72846D9E7002AD7D1627C12F0200106 +:1017200008BF0B4652064CBF43F0010323F00103F0 +:101730002380EAE7207C0028C7D00B4E18461146CC +:1017400001932A467669B0470128019BE1D1A38025 +:10175000BBE710F44050B8D0B0F5805FD5D101227E +:101760002280D2E704010020A023002010F01F00F7 +:101770000CD153B97F290BD832B9064B187CD0F164 +:10178000010038BF0020704718467047002070479E +:101790001846704704010020030601D4002070475A +:1017A000C00606D1044B012003F110029A60988014 +:1017B00070470020704700BF0401002010F01F0098 +:1017C00008B503D10AB91BB1104608BD002008BDF9 +:1017D000044A012013699847A0F10102504240EBEE +:1017E000020008BDA023002000F01F00012810B552 +:1017F0000C4601D0002010BD002BFBD1100A06D1F1 +:101800000B0A03D10849087C18B1184610BD1846C8 +:1018100010BD064B11465B6922469847A0F10103B3 +:101820005A4242EB030010BD04010020A023002017 +:1018300010F01F0006D143B9002A35D1012935D057 +:1018400010467047022801D0002070472448007CD1 +:101850000028FAD0002B30D1100A25D10029F4D16C +:1018600012F00F00F1D000F1805C0CF5B853990034 +:10187000088812F0800214BF00F0300000F44050DD +:101880000028E2D09B00D2B11988480626D548F638 +:101890008F7248F2C00C01EA0200CFF6FF7C40EAEA +:1018A0000C021A8001207047184670470C4B0846FE +:1018B000597C21F020025A74704700207047188824 +:1018C00042040BD548F68F724CF2800C1040CFF6D4 +:1018D000FF7C40EA0C01198001207047012070470D +:1018E0000401002010F01F0006D143B9002A37D1AF +:1018F000012937D010467047022801D000207047D8 +:101900002548007C0028FAD0002B32D1100A27D1BC +:101910000029F4D112F00F00F1D000F1805C0CF539 +:10192000B8539900088812F0800214BF00F030000C +:1019300000F440500028E2D09B00E2B9B3F800C0A8 +:101940004BF68F700CEA000148F2800281F480505F +:10195000CFF6FF7240EA020CA3F800C001207047E6 +:10196000184670470C4B0846597C41F020025A74C7 +:10197000704700207047198848F6BF7001EA0002DE +:1019800048F28000CFF6FF7082F0100141EA0002B9 +:101990001A800120704700BF0401002008B50B46E3 +:1019A000010601D4002008BDC10601D0002008BDF9 +:1019B000180A11461A46024BDB68984708BD00BF5B +:1019C000A023002010F0800F10B501D1002010BD21 +:1019D00000F01F000128F9D10029F7D1140A0ED117 +:1019E000012B01D0204610BD0649087C0028FAD002 +:1019F0001846054B11465B692246984710BD0846BC +:101A000010BD00BF04010020A02300204FF4B84304 +:101A1000C4F200031A8810B44BF6BF74224000F4DD +:101A2000405C8CEA020401F0300148F280004C4036 +:101A3000CFF6FF7044EA00021A8010BC704700BF66 +:101A400038B540F20005C0F60005AC6A0546A0476F +:101A500040F2041CC2F2000C022345F6404245F657 +:101A600044448CF812300021C4F20002C4F2000495 +:101A700001204FF404438CF810108CF811501080A2 +:101A800011802180138038BD45F6444145F640431E +:101A90000022C4F20001C4F200030A801A807047D9 +:101AA00045F6404240F20000C4F20002C0F60000D9 +:101AB000022108B51180C36A984708BD704700BF6E +:101AC00045F6504045F64C43C4F20000C4F2000312 +:101AD0000021802201801A80704700BFC2B202F14B +:101AE000805346F2040C1001C4F2000C03F5B85206 +:101AF00020F80C109200118848F6BF7001EA00032C +:101B000048F2800083F03001CFF6FF7041EA000315 +:101B100013807047C0B246F204030201C4F200030E +:101B2000D15A8805800D7047C0B246F20C030201FD +:101B3000C4F20003D15A8805800D7047C3B203F187 +:101B4000805C0CF5B85189000A8848F6BF7002EA3B +:101B5000000348F2800083F01002CFF6FF7042EAE3 +:101B600000030B80704700BFC3B203F1805C0CF52B +:101B7000B85189000A884BF68F7002EA000348F2D8 +:101B8000800083F48052CFF6FF7042EA00030B809E +:101B9000704700BFC3B203F1805C0CF5B8518900F7 +:101BA0000A884BF68F7002EA000348F2800083F443 +:101BB0004052CFF6FF7042EA00030B80704700BF2F +:101BC000F0B4C4B204F1805C0CF5B855AD002E88B9 +:101BD00041EA000747F6700C06EA0C0047EA0201EA +:101BE00041EA0007049EBFB2CBB1BDF8142046F213 +:101BF000080046F20C0C2101C4F20000C4F2000CF3 +:101C00003E2A0B528C441ED95209501E6FEAC06105 +:101C10006FEA51439AB2ACF800204FF440534EB1F2 +:101C200004F1806101F5C06443F0200C24011FFA27 +:101C30008CF3268043F2200203EA020080EA0703C5 +:101C40002B80F0BC704702F03E025202E3E700BF77 +:101C500040F20413C2F200031874704740F20413F8 +:101C6000C2F20003187C704740F20413C2F2000372 +:101C70005874704740F20413C2F2000398609980D0 +:101C8000704700BF2DE9F001002A44D0CB0745D4AE +:101C900001F1005C0CF540514FEA410C012A36D9A4 +:101CA000034613F8024B911E46780D4644EA062679 +:101CB000012D644624F8046BC1F340011ED949B1DB +:101CC0005E7813F8021B023D41EA0621012D24F83B +:101CD000041B13D9194611F8027B93F8018026469C +:101CE00047EA082726F8047B9B784F78043D43EAAF +:101CF0000723A3808B1C341D012DEBD8911E4B08AC +:101D0000591C00EB41000CEB810C02F0010212B1F6 +:101D10000078ACF80000BDE8F001704742F6FF73B0 +:101D2000C2F20003CB184FEA430C9CF8003010F8C5 +:101D3000011B013A43EA01232CF8043BAEE700BF44 +:101D400000F1806C38B504460CF5C0600501B5F8AB +:101D500000E0084671461546FFF794FF04F18053F2 +:101D600046F2040C03F5B8512401C4F2000C24F827 +:101D70000C5089000A8848F6BF7002EA000348F256 +:101D8000800083F03002CFF6FF7042EA00030B8040 +:101D900038BD00BFC9B201F1806C0CF5C06109010A +:101DA000B1F800C00CEB020189B21A466AE700BF25 +:101DB000F8B52C4CA5883DB9A37C042B33D0042660 +:101DC000A6742A46AEB205E0402D37D9022240263D +:101DD000A2743246E788A0684FF4C04EC4F2000EE9 +:101DE000C019BEF80010FFF74DFF46F20401C4F21F +:101DF0000001AD1BF7194FF4B84CA580E780C4F281 +:101E0000000C0E80BCF8003048F6BF7003EA0002F8 +:101E100048F2800082F03001CFF6FF7041EA000303 +:101E2000ACF80030F8BD207B01280ED006224FF41C +:101E300040501021A274BDE8F840E7E54FF00406D9 +:101E4000A674BED12E462A46C4E746F20401C4F267 +:101E5000000125734FF440500D803021BDE8F8405B +:101E6000D4E500BF040100202DE9F001002A3FD095 +:101E7000CB0740D401F1005808F540514FEA410822 +:101E8000012A31D9414631F8045B931E1C462E0AC3 +:101E90000570C3F34005831C012C46701BD945B166 +:101EA00031F8045B023C2E0A1D705E700233012C77 +:101EB00011D90D4635F8047B043C4FEA172C1F70EE +:101EC00083F801C089889E1C0F0A9970DF70291D54 +:101ED0000433012CEDD8931E59084B1C00EB430032 +:101EE00008EB830802F0010212B1B8F8002002707A +:101EF000BDE8F001704742F6FF73C2F20003CB1851 +:101F00004FEA430838F8041B013A0B0A00F8013B7A +:101F1000B6E700BF10B4C9B246F208040901C4F222 +:101F2000000431F804C00CEB020189B21A4610BC5F +:101F30009AE700BF2DE9F04F45F64446C4F200068B +:101F4000348883B0A4B2230422D4600514D461047D +:101F500006D545F64443C4F200034BF6FF721A80DF +:101F6000A20406D545F64440C4F200004DF6FF71C8 +:101F7000018003B0BDE8F08FAE4945F6444CC4F291 +:101F8000000C4FF6FF30ACF800000A689047DEE71F +:101F9000A94DA946308883B21A04D6D513F00F078D +:101FA00012D113F0100F4FF4B843C4F2000327D03E +:101FB0001A8810053DD4110469D4DFF87C8298F8A2 +:101FC0001220072AE6D12EE007F1805808F5B85113 +:101FD0004FEA810ABAF8008018F4004F7FD118F058 +:101FE000800FD7D0BAF80030944A48F60F7103EA50 +:101FF000010002EB8707AAF80000FB6C9847C9E7CD +:10200000198848F60F7001EA00021A80AB7CDFF8ED +:102010002882022B7FD0042B7DD0052B00F0A980D5 +:10202000072089F812004FF480501021FFF7EEFCD2 +:10203000B0E740F68F7002EA000146F20808198006 +:10204000C4F20008B8F800E0DFF8EC810EF10052AD +:1020500002F540534FEA430CBCF80000BCF80420E2 +:10206000010ABCF80830C0B2BCF80CE010F0600FF8 +:1020700028756975EA822B83A5F81AE0AF60AF80F6 +:10208000EF8070D10C2949D90723AB74CBE740F618 +:102090008F7C02EA0C08A3F80080AB7CDFF8988103 +:1020A000022BF1D0042BEFD0032BB9D1D9F8083093 +:1020B000002B00F0B980B9F80470002F40F08E803A +:1020C00046F2040C0021C4F2000C0523AB744FF45B +:1020D0008050ACF800103021FFF798FC6FE7574AAA +:1020E00040F68F7108EA010002EB870EAAF80000A3 +:1020F000DEF83030984772E7B5F804E0698B714537 +:102100003CBF8E46A9801EF03F0F14BF0022012263 +:1021100002232A73AB74FFF74BFE50E7474F57F883 +:10212000217011461A467346B8470128ACD195F97B +:1021300014C0BCF1000FDFDB6B8B6BB303234FF4D8 +:10214000B840AB74C4F2000001884BF68F7201EA0C +:10215000020348F2800C83F44051CFF6FF7C41EA41 +:102160000C0202802BE7334FCDF800E0BF68B84780 +:10217000DBE799F8151099F81400052902D110F041 +:102180007F0316D06F8B2B8B00972A4FEA8A7F68CC +:10219000B8470723AB7446E746F20400C4F20000D8 +:1021A0000522AA74302103804FF48050FFF72EFCE3 +:1021B00005E7B9F8161045F64C4C41F0800E1FFAB1 +:1021C0008EF0C4F2000C1B4AACF80000B9F81610EF +:1021D0001846136998470723AB7424E746F20C0BA3 +:1021E000C4F2000BBBF8002046F2080E4FEA825002 +:1021F000B5F806B04FEA905AC4F2000EBA4528BFAF +:10220000BA46BEF8001003EB0B0052461FFA8AFADA +:10221000FFF72AFECAEB07018BB2DA44AB80A5F8C0 +:1022200006A0002B8AD14BE7B9F80430002B85D1EA +:1022300046E700BFA0230020040100205024002016 +:10224000FEE700BF704700BF09480A49A0EB010044 +:1022500085464FF000000849084A41F8040B8A42BD +:10226000FBD862B64FF00000014600F009F8FEE727 +:102270000050002000040000000000202001002089 +:1022800038B50E4D0020AB6898478020FFF7D8FB8B +:102290004FF41F44C0F22404A9680120884700239A +:1022A000581C431CA342FBD1AA680020904700237E +:1022B00001330133A342FBD1EEE700BF0000000869 +:1022C00010F0030F70B403463FD0002A3BD0CDB2CC +:1022D00001E0002A37D003F8015B013A13F0030F45 +:1022E0001C46F6D1032A28D9CDB245EA05250F2A86 +:1022F00045EA054513D923461646103E1D605D602C +:102300009D60DD6010330F2EF7D8A2F1100323F08B +:102310000F0302F00F021033032A1C440DD9264686 +:102320001346043B032B46F8045BFAD8131F23F033 +:102330000303043302F00302E41822B1C9B2013AE4 +:1023400004F8011BFBD170BC70470446CAE700BF0C +:10235000001000080000020812011001FF000040F8 +:102360004B230000000201020301000009021200D9 +:1023700001010080320904000000FF00000000009D +:10238000C823002004000000CC23002044000000EB +:10239000102400201E000000302400201200000045 +:1023A0006D15002099150020B1140020551600204D +:1023B000A1140020AD1400206C23002012000000A6 +:1023C00058230020120000000403090444034600BF +:1023D000720065006500200053006F006600740005 +:1023E0007700610072006500200049006E006900FE +:1023F00074006900610074006900760065002000C7 +:102400006F00660020004A006100700061006E00ED +:102410001E034600530049004A00200055005300A7 +:102420004200200054006F006B0065006E00000049 +:1024300012034600530049004A002D0030002E00D0 +:10244000300000000000000000000000000000005C +:10245000B516002031180020B1160020E518002024 +:10246000B11600206D1700209D190020B116002024 +:1024700099170020BD170020C5190020E91700207A +:10248000B1160020BD1A0020BD1A0020BD1A002080 +:10249000BD1A0020BD1A0020BD1A0020BD1A002060 +:1024A000BD1A0020BD1A0020BD1A0020BD1A002050 +:0C24B000BD1A0020BD1A0020BD1A00203B +:0400000520001400C3 +:00000001FF diff --git a/regnual/regnual.ld b/regnual/regnual.ld index c470c1d..879b4f1 100644 --- a/regnual/regnual.ld +++ b/regnual/regnual.ld @@ -7,8 +7,8 @@ __stacks_total_size__ = __main_stack_size__ + __process_stack_size__; MEMORY { - ram0 : org = 0x20000000, len = 0x1400 - ram1 : org = 0x20001400, len = 20k - 0x1400 + ram0 : org = 0x20000000, len = 0x1a00 + ram1 : org = 0x20001400, len = 20k - 0x1a00 } vector = 0x08000000; diff --git a/src/Makefile.in b/src/Makefile.in index 15fd4e6..ff2cb45 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -195,7 +195,6 @@ ULIBS = ############################################################################## include $(CHIBIOS)/os/ports/GCC/ARMCMx/rules.mk -MCFLAGS= -mcpu=$(MCU) -mfix-cortex-m3-ldrd distclean: clean -rm -f Makefile gnuk.ld config.h *.inc diff --git a/src/gnuk.ld.in b/src/gnuk.ld.in index 83b4246..c7bb964 100644 --- a/src/gnuk.ld.in +++ b/src/gnuk.ld.in @@ -164,7 +164,6 @@ SECTIONS . = ALIGN(512); _regnual_start = .; - /* It was __ram_start__ + 0x1a00 in 1.0.x */ @CERTDO_SUPPORT_START@ .gnuk_ch_certificate :