Spec-Zone.ru › GCC 15

3.20.41 Параметры RL78

-msim

Ссылки на дополнительные целевые библиотеки для поддержки работы в симуляторе.

-mmul=none
-mmul=g10
-mmul=g13
-mmul=g14
-mmul=rl78

Задает тип используемой аппаратной поддержки умножения и деления. Самый простой вариант — none, при котором и умножение, и деление выполняются программно. Это значение используется по умолчанию. Значение g13 предназначено для периферийного устройства аппаратного умножения и деления, имеющегося в целевых системах RL78/G13 (ядро S2). Значение g14 выбирает использование инструкций умножения и деления, поддерживаемых микроконтроллерами RL78/G14 (ядро S3). Значение rl78 является псевдонимом для g14, а значение mg10 — псевдонимом для none.

Кроме того, в зависимости от значения этого параметра определяется макрос препроцессора C. Возможные значения: __RL78_MUL_NONE__, __RL78_MUL_G13__ или __RL78_MUL_G14__.

-mcpu=g10
-mcpu=g13
-mcpu=g14
-mcpu=rl78

Задает целевое ядро RL78. По умолчанию используется ядро G14, также известное как ядро S3 или просто RL78. В ядре G13 (S2) нет инструкций умножения и деления; вместо них для этих операций используется аппаратное периферийное устройство. В ядре G10 (S1) нет банков регистров, поэтому в нем используется другое соглашение о вызовах.

Если задан этот параметр, он также выбирает тип используемой аппаратной поддержки умножения, если только она не переопределена явным параметром -mmul=none в командной строке. Поэтому указание -mcpu=g13 включает использование аппаратного периферийного устройства умножения G13, а указание -mcpu=g10 полностью отключает аппаратное умножение.

Обратите внимание: хотя ядро RL78/G14 используется по умолчанию, указание в командной строке -mcpu=g14 или -mcpu=rl78 меняет поведение набора инструментов, поскольку при этом также включается аппаратная поддержка умножения G14. Если эти параметры не указаны в командной строке, будут использоваться программные процедуры умножения, хотя код и предназначен для ядра RL78. Это сделано для обратной совместимости со старыми наборами инструментов, в которых не было аппаратной поддержки умножения и деления.

Кроме того, в зависимости от значения этого параметра определяется макрос препроцессора C. Возможные значения: __RL78_G10__, __RL78_G13__ или __RL78_G14__.

-mg10
-mg13
-mg14
-mrl78

Это псевдонимы соответствующих параметров -mcpu=. Они предоставлены для обратной совместимости.

-mallregs

Разрешает компилятору использовать все доступные регистры. По умолчанию регистры r24..r31 зарезервированы для обработчиков прерываний. Если включить этот параметр, эти регистры также можно будет использовать в обычных функциях.

-m64bit-doubles
-m32bit-doubles

Задает размер типа данных double: 64 бита (-m64bit-doubles) или 32 бита (-m32bit-doubles). По умолчанию используется -m32bit-doubles.

-msave-mduc-in-interrupts
-mno-save-mduc-in-interrupts

Указывает, что функции-обработчики прерываний должны сохранять регистры MDUC. Это необходимо только в том случае, если обычный код может использовать регистры MDUC, например при выполнении операций умножения и деления. По умолчанию регистры MDUC игнорируются, что позволяет ускорить работу обработчиков прерываний. Для работы этой функции необходимо передать параметр цели -mg13, поскольку она доступна только для цели G13 (ядро S2). Регистры MDUC будут сохранены только в том случае, если обработчик прерываний выполняет операцию умножения или деления либо вызывает другую функцию.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-15.3.0/gcc/RL78-Options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API