Дата создания информации: 21.04.2025
Частью чего является?
Определение названия основной функции компьютерной программы с MULTEX-ARM является частью создания компьютерных программ с MULTEX-ARM.
Из чего состоит?
Общие положения
Компьютерные программы c MULTEX-ARM создаются на языке программирования Си и языке ассемблера.
Основную функциию (точку входа) компьютерной программы с MULTEX-ARM обычно создают на Си.
При использовании Си основную функцию часто называют main.
Смотрите, например, статью «main Function in C» на сайте GeeksforGeeks.
Но можно использовать и другое название основной функции.
Для этого необходимо определить название основной функции и указать его как значение параметра -e (--entry) при вызове компоновщика (линкера) ld, который используется для создания компьютерных программ, представленных на Си и языке ассемблера.
Смотрите, например, ответ на вопрос «How to change entry point of C program with gcc?» на сайте «stack overflow».
Особенности MULTEX-ARM
Определение названия основной функции компьютерной программы с MULTEX-ARM выполняется в соответствии с общими положениям, но с особенностями.
Компьютерная программа с MULTEX-ARM содержит в себе MULTEX-ARM.
Смотрите, например, статью «Сборка проекта» в документации на MULTEX-ARM.
При запуске компьютерной программы с MULTEX-ARM сначала запускается MULTEX-ARM, а уже из неё вызывается основная функция компьютерной программы.
Вызов основной функции выполняется по названию, определённому в файле config.h как значение символической константы USER_PROC.
#define USER_PROC <Название основной функции компьютерной программы>
Файл config.h представлен в статье «Сборка проекта» в документации на MULTEX-ARM.
Детали
В деталях определение названия основной функции компьютерной программы с MULTEX-ARM выглядит следующим образом.
В файле multex.mk, который содержится в базовом наборе библиотек MULTEX-ARM, в целях сборки make_debug и make_release для параметра -e (--entry) компоновщика ld определено значение _start.
Базовый набор библиотек MULTEX-ARM можно скачать по ссылке, представленной в статье «Сборка проекта» в документации на MULTEX-ARM.
Особенностью определения значения параметра -e (--entry) в файле multex.mk является то, что название параметра указано с использованием одного дефиса: «-entry _start».
Дело в том, что для указания названия параметра, состоящего из нескольких символов, можно использовать как один, так и два дефиса.
Смотрите, например, представление компоновщика ld на сайте man7.org.

Значение _start параметра -e (--entry) – это название функции, в которой запускается MULTEX-ARM.
Функция с названием _start представлена в файле startup.s, который содержится в базовом наборе библиотек MULTEX-ARM.
В функции _start вызывается функция start_ccode.
Функция start_ccode представлена в файле cstart.c, который содержится в базовом наборе библиотек MULTEX-ARM.
В функции start_ccode вызывается функция kernelInit.
Назначение функции kernelInit представлено в файле tasklib.h, который содержится в базовом наборе библиотек MULTEX-ARM.
Значение параметра rootRtn функции kernelInit – это название функции, которая используется для вызова из MULTEX-ARM основной функции компьютерной программы.
В файле cstart.c для параметра rootRtn определено значение usr_init.
Функция usr_init представлена в файле cstart.c.
В функции usr_init вызывается основная функция компьютерной программы.
Вызов основной функции компьютерной программы выполняется по значению символической константы USER_PROC, определённому в файле config.h.
Таким образом, определить название основной функции компьютерной программы с MULTEX-ARM можно путём определения значения символической константы USER_PROC в файле config.h.