Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
ob:o7:debug [2016/09/08 06:07] иван_денисов [Пример] |
ob:o7:debug [2024/05/08 12:58] (текущий) iadenisov |
||
|---|---|---|---|
| Строка 59: | Строка 59: | ||
| - | ===== Пример отладчика===== | + | ===== Пример отладчика ===== |
| Чтобы осуществлять отладку микроконтроллера необходимо обмениваться сообщениями. Более подробно организация обмена описана в заметке [[ob: | Чтобы осуществлять отладку микроконтроллера необходимо обмениваться сообщениями. Более подробно организация обмена описана в заметке [[ob: | ||
| Строка 68: | Строка 68: | ||
| Traps := MicroARMv7MTraps, | Traps := MicroARMv7MTraps, | ||
| Sys := MicroSTM32F103x8System, | Sys := MicroSTM32F103x8System, | ||
| - | TPs := MicroSTM32F103x8TPorts; | + | Pins := MicroSTM32F10xPinCfg, |
| + | TPs := MicroSTM32F1TPorts; | ||
| CONST | CONST | ||
| Строка 90: | Строка 91: | ||
| PROCEDURE Init; | PROCEDURE Init; | ||
| - | VAR ok: BOOLEAN; | + | VAR ok: BOOLEAN; par: TPs.InitPar; |
| BEGIN | BEGIN | ||
| - | TPs.Init(p0, | + | par.n := TPs.USART1; |
| + | par.RXPinPort := Pins.A; par.RXPinN := 10; | ||
| + | par.TXPinPort := Pins.A; par.TXPinN := 9; | ||
| + | par.UCLK := Sys.PCLK2; | ||
| + | par.baud := 19200; | ||
| + | par.parity := TPs.parityNone; | ||
| + | par.receive := Receive; | ||
| + | par.version2 := 2; | ||
| + | TPs.Init(p0, | ||
| + | |||
| TPs.Send(p0, | TPs.Send(p0, | ||
| IF Traps.trapFlag THEN | IF Traps.trapFlag THEN | ||
| Строка 109: | Строка 119: | ||
| В журнал будет выведена информация о модулях. | В журнал будет выведена информация о модулях. | ||
| - | < | + | < |
| - | linking MobxAssert Ok | + | |
| MicroARMv7M 256 | MicroARMv7M 256 | ||
| - | MicroKernel0 264 | + | MicroKernel0 301 |
| - | MicroARMv7MTraps 950 | + | MicroARMv7MTraps 987 |
| - | MicroSTM32F10xxD 1224 | + | MicroSTM32F10xxD 1283 |
| - | MicroSTM32F103x8System 1227 | + | MicroSTM32F103x8System 1286 |
| - | MicroSTM32F10xPinCfg 1476 | + | MicroSTM32F10xPinCfg 1535 |
| - | MicroSTM32F103x8TPorts 1603 | + | MicroSTM32F1TPorts 1662 |
| - | MobxAssert 3019 | + | MobxAssert 3146 |
| - | ROM: 6384 B; RAM: 508 B</ | + | ROM: 6816 B; RAM: 748 B |
| + | </ | ||
| Строка 181: | Строка 191: | ||
| < | < | ||
| - | For Linux | + | Для |
| < | < | ||
| Строка 188: | Строка 198: | ||
| В журнал Блэкбокса будет выведена информация: | В журнал Блэкбокса будет выведена информация: | ||
| - | < | + | < |
| - | pos: | + | pos: |
| code: 7</ | code: 7</ | ||
| - | Program Counter (pc) равен | + | Program Counter (pc) равен |
| Чтобы перейти к положению ошибки в модуле, | Чтобы перейти к положению ошибки в модуле, | ||
| + | |||
| + | |||
| + | ===== Сторожевой таймер ===== | ||
| + | |||
| + | Чтобы определить, | ||
| + | |||
| + | Чтобы его использовать, | ||
| + | |||
| + | Более универсальный сторожевой таймер не имеет возможности определения места остановки: | ||
| + | |||
| + | |||
| + | ---- | ||
| + | |||
| + | Авторы заметки: | ||