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