From a46417618494ea41bd5cc685bc93c6c7cc4401ef Mon Sep 17 00:00:00 2001 From: AntKrotov Date: Sun, 26 Jan 2020 22:43:15 +0300 Subject: [PATCH] =?UTF-8?q?STM32:=20=D1=83=D0=BB=D1=83=D1=87=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=BF=D1=80=D0=B5=D1=80=D1=8B=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Compiler | Bin 313744 -> 313360 bytes Compiler.exe | Bin 315392 -> 315392 bytes doc/STM32.txt | 20 +++++++------- samples/STM32/Button.ob07 | 4 +-- samples/STM32/SysTick.ob07 | 4 +-- samples/STM32/TIM67.ob07 | 6 ++-- source/THUMB.ob07 | 55 +++++++++++++++++-------------------- 7 files changed, 42 insertions(+), 47 deletions(-) diff --git a/Compiler b/Compiler index 48bdd0995dbdab7a6e608db12c9a85e66b470cb7..5717e0a1160ce6e36742cccc1b49e38e3373e781 100644 GIT binary patch delta 35253 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 H*8BcHCiBJD delta 35719 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 z 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 F{{TJ6$Cv;B diff --git a/doc/STM32.txt b/doc/STM32.txt index 97045bb..54fcc9f 100644 --- a/doc/STM32.txt +++ b/doc/STM32.txt @@ -323,16 +323,16 @@ TYPE Обработка прерываний При возникновении прерывания, будет вызван пользовательский обработчик -(если он назначен). Обработчик получает смещение вектора прерывания в таблице +(если он назначен). Обработчик получает номер вектора прерывания в таблице векторов: -смещение вектор ----------------------- - 0H начальное значение SP - 4H сброс + 0 начальное значение SP + 1 сброс ... - 0ECH TIM6 - 0F0H TIM7 + 15 SysTick + ... + 59 TIM6 + 50 TIM7 ... По этому параметру обработчик должен определить источник прерывания и @@ -341,15 +341,15 @@ TYPE Пользовательский обработчик должен иметь вид: PROCEDURE handler (iv: INTEGER) - где iv - смещение вектора возникшего прерывания. + где iv - номер вектора возникшего прерывания. Например: PROCEDURE handler (iv: INTEGER); BEGIN - IF iv = 0ECH THEN + IF iv = 59 THEN (* TIM6 *) - ELSIF iv = 0F0H THEN + ELSIF iv = 60 THEN (* TIM7 *) ELSIF .... .... diff --git a/samples/STM32/Button.ob07 b/samples/STM32/Button.ob07 index 7640103..cb010e7 100644 --- a/samples/STM32/Button.ob07 +++ b/samples/STM32/Button.ob07 @@ -76,9 +76,9 @@ VAR (* обработчик прерываний *) -PROCEDURE handler (ivoffs: INTEGER); +PROCEDURE handler (iv: INTEGER); BEGIN - IF ivoffs = 058H THEN (* прерывание от EXTI0 *) + IF iv = 22 THEN (* прерывание от EXTI0 *) state := (state + 1) MOD 4; (* изменить состояние светодиодов *) CASE state OF diff --git a/samples/STM32/SysTick.ob07 b/samples/STM32/SysTick.ob07 index 7e9c613..3f8b392 100644 --- a/samples/STM32/SysTick.ob07 +++ b/samples/STM32/SysTick.ob07 @@ -53,9 +53,9 @@ VAR (* обработчик прерываний *) -PROCEDURE handler (ivoffs: INTEGER); +PROCEDURE handler (iv: INTEGER); BEGIN - IF ivoffs = 3CH THEN (* прерывание от System tick timer *) + IF iv = 15 THEN (* прерывание от System tick timer *) state := ~state; (* включить или выключить светодиоды *) SYSTEM.PUT(GPIOBBSRR, {Blue + 16 * ORD(state)}); diff --git a/samples/STM32/TIM67.ob07 b/samples/STM32/TIM67.ob07 index e61a1b6..62b2f4a 100644 --- a/samples/STM32/TIM67.ob07 +++ b/samples/STM32/TIM67.ob07 @@ -88,14 +88,14 @@ VAR (* обработчик прерываний *) -PROCEDURE handler (ivoffs: INTEGER); +PROCEDURE handler (iv: INTEGER); BEGIN - IF ivoffs = 0ECH THEN (* прерывание от TIM6 *) + IF iv = 59 THEN (* прерывание от TIM6 *) state1 := ~state1; (* включить или выключить синий светодиод *) SYSTEM.PUT(GPIOBBSRR, {BLUELED + 16 * ORD(state1)}); SYSTEM.PUT(TIM6_SR, 0) (* сбросить флаг прерывания *) - ELSIF ivoffs = 0F0H THEN (* прерывание от TIM7 *) + ELSIF iv = 60 THEN (* прерывание от TIM7 *) state2 := ~state2; (* включить или выключить зеленый светодиод *) SYSTEM.PUT(GPIOBBSRR, {GREENLED + 16 * ORD(state2)}); diff --git a/source/THUMB.ob07 b/source/THUMB.ob07 index 28a6b10..2638e26 100644 --- a/source/THUMB.ob07 +++ b/source/THUMB.ob07 @@ -93,7 +93,7 @@ VAR thumb2: BOOLEAN; - sdivProc, intProc: INTEGER; + sdivProc: INTEGER; PROCEDURE Code (code: INTEGER); @@ -2016,25 +2016,26 @@ BEGIN END translate; -PROCEDURE prolog (GlobSize, tcount, pic, FlashAdr, sp, ivt_len: INTEGER); +PROCEDURE prolog (GlobSize, tcount, pic, FlashAdr, sp, ivt_len, sram: INTEGER); VAR - r1, r2, i, dcount, entry, L1: INTEGER; - IV: ARRAY 256 OF INTEGER; + r1, r2, i, dcount, entry, L1, reset: INTEGER; BEGIN - IV[0] := sp; - IV[1] := FlashAdr + ivt_len * 4 + 1; + reset := FlashAdr + ivt_len * 4 + 1; + + Code(low(sp)); + Code(high(sp)); + + Code(low(reset)); + Code(high(reset)); + + INC(reset, 4); FOR i := 2 TO ivt_len - 1 DO - IV[i] := IV[1] + 4 + 4*2 * (i - 2) + Code(low(reset)); + Code(high(reset)) END; - FOR i := 0 TO ivt_len - 1 DO - Code(low(IV[i])); - Code(high(IV[i])) - END; - - intProc := NewLabel(); sdivProc := NewLabel(); IL.set_rtl(IL._divmod, sdivProc); @@ -2043,11 +2044,13 @@ BEGIN Label(entry); call(L1); - FOR i := 2 TO ivt_len - 1 DO - MovImm8(R1, i); - gen14(FALSE, TRUE, {}); (* push {LR} *) - call(intProc) - END; + gen14(FALSE, TRUE, {}); (* push {LR} *) + MovConst(R0, sram); + Ldr32(R0, R0); + Code(0F3EFH); Code(08105H); (* mrs r1, ipsr *) + push(R1); + gen5(3, TRUE, FALSE, R0, 0); (* blx R0 *) + gen14(TRUE, TRUE, {R1}); (* pop {PC, R1} *) Label(L1); r1 := GetAnyReg(); @@ -2071,7 +2074,7 @@ BEGIN drop; r1 := GetAnyReg(); - MovConst(r1, IV[0]); + MovConst(r1, sp); mov(SP, r1); reloc(r1, BIN.RDATA + pic, 0); push(r1); @@ -2089,19 +2092,11 @@ BEGIN END prolog; -PROCEDURE epilog (sram: INTEGER); +PROCEDURE epilog; BEGIN Code(0BF30H); (* L2: wfi *) Code(0E7FDH); (* b L2 *) - Label(intProc); - MovConst(R0, sram); - Ldr32(R0, R0); - LslImm(R1, 2); - push(R1); - gen5(3, TRUE, FALSE, R0, 0); (* blx R0 *) - gen14(TRUE, TRUE, {R1}); (* pop {PC, R1} *) - Label(sdivProc); Code(09800H); (* ldr r0, [sp + #0] *) Code(09901H); (* ldr r1, [sp + #4] *) @@ -2166,9 +2161,9 @@ BEGIN BssSize := IL.codes.bss; ASSERT(UTILS.Align(BssSize, 4)); - prolog(BssSize, tcount, ORD(opt.pic), FlashAdr, SRAMAdr + ram, IVTLen); + prolog(BssSize, tcount, ORD(opt.pic), FlashAdr, SRAMAdr + ram, IVTLen, SRAMAdr); translate(ORD(opt.pic), tcount * 4); - epilog(SRAMAdr); + epilog; fixup(FlashAdr, DataAdr, BssAdr);