|
365 | 365 | //! These are the naked 'raw' assembly functions the run-time requires: |
366 | 366 | //! |
367 | 367 | //! * `_start` - a Reset handler. Our linker script PROVIDEs a default function |
368 | | -//! at `_default_start` but you can override it. Some SoCs require a chip |
369 | | -//! specific startup for tasks like MMU initialization or chip specific |
370 | | -//! initialization routines, so if our start-up routine doesn't work for you, |
371 | | -//! supply your own `_start` function (but feel free to call our |
372 | | -//! `_default_start` as part of it). |
| 368 | +//! at `_default_start` but you can override it. The provided default start |
| 369 | +//! function will initialise all global variables and then call `kmain` in SYS |
| 370 | +//! mode. Some SoCs require a chip specific startup for tasks like MMU |
| 371 | +//! initialization or chip specific initialization routines, so if our |
| 372 | +//! start-up routine doesn't work for you, supply your own `_start` function |
| 373 | +//! (but feel free to call our `_default_start` as part of it). |
373 | 374 | //! |
374 | 375 | //! * `_asm_undefined_handler` - a naked function to call when an Undefined |
375 | 376 | //! Exception occurs. Our linker script PROVIDEs a default function at |
376 | 377 | //! `_asm_default_undefined_handler` but you can override it. The provided |
377 | | -//! default handler will call `_undefined_handler`, saving state as required. |
| 378 | +//! default handler will call `_undefined_handler` in UND mode, saving state |
| 379 | +//! as required. |
378 | 380 | //! |
379 | | -//! * `_asm_svc_handler` - a naked function to call when an SVC Exception |
380 | | -//! occurs. Our linker script PROVIDEs a default function at |
| 381 | +//! * `_asm_svc_handler` - a naked function to call when an Supervisor Call |
| 382 | +//! (SVC) Exception occurs. Our linker script PROVIDEs a default function at |
381 | 383 | //! `_asm_default_svc_handler` but you can override it. The provided default |
382 | | -//! handler will call `_svc_handler`, saving state as required. |
| 384 | +//! handler will call `_svc_handler` in SVC mode, saving state as required. |
383 | 385 | //! |
384 | 386 | //! * `_asm_prefetch_abort_handler` - a naked function to call when a Prefetch |
385 | | -//! Exception occurs. Our linker script PROVIDEs a default function at |
| 387 | +//! Abort Exception occurs. Our linker script PROVIDEs a default function at |
386 | 388 | //! `_asm_default_prefetch_abort_handler` but you can override it. The |
387 | 389 | //! provided default handler will call `_prefetch_abort_handler`, saving state |
388 | | -//! as required. Note that Prefetch Abort Exceptions are handled in Abort |
389 | | -//! Mode, Monitor Mode or Hyp Mode, depending on CPU configuration. There is |
390 | | -//! no Prefetch Abort mode, so there is no Prefetch Abort Mode stack. |
| 390 | +//! as required. Note that Prefetch Abort Exceptions are handled in Abort Mode |
| 391 | +//! (ABT), Monitor Mode (MON) or Hyp Mode (HYP), depending on CPU |
| 392 | +//! configuration. |
391 | 393 | //! |
392 | | -//! * `_asm_data_abort_handler` - a naked function to call when an Abort |
| 394 | +//! * `_asm_data_abort_handler` - a naked function to call when a Data Abort |
393 | 395 | //! Exception occurs. Our linker script PROVIDEs a default function at |
394 | 396 | //! `_asm_default_data_abort_handler` but you can override it. The provided |
395 | | -//! default handler will call `_data_abort_handler`, saving state as required. |
| 397 | +//! default handler will call `_data_abort_handler` in ABT mode, saving state |
| 398 | +//! as required. |
396 | 399 | //! |
397 | 400 | //! * `_asm_irq_handler` - a naked function to call when an Undefined Exception |
398 | 401 | //! occurs. Our linker script PROVIDEs a default function at |
399 | 402 | //! `_asm_default_irq_handler` but you can override it. The provided default |
400 | | -//! handler will call `_irq_handler`, saving state as required. |
| 403 | +//! handler will call `_irq_handler` in SYS mode (not IRQ mode), saving state |
| 404 | +//! as required. |
401 | 405 | //! |
402 | 406 | //! * `_asm_fiq_handler` - a naked function to call when a Fast Interrupt |
403 | 407 | //! Request (FIQ) occurs. Our linker script PROVIDEs a default function at |
|
0 commit comments