Научная статья на тему 'Запуск программы из загрузчика'

Запуск программы из загрузчика Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
87
18
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОТОКОЛ ПЕРЕДАЧИ ДАННЫХ / DATA TRANSFER PROTOCOL / UART / АССЕМБЛЕР / ASSEMBLER /

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Петров Алексей Александрович, Будин Дмитрий Иванович

В статье рассматривается запуск загруженной в память программы из загрузчика. Показаны два способа выполнения данной задачи, посредством двух языков программирования ассемблера и Си.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Запуск программы из загрузчика»

Таким образом, использование ЭОР нового поколения открывает перспективы развития новых форм обучения, направленных, в первую очередь, на активно-деятельностные формы работы обучающихся. Разработка структуры электронного образовательного ресурса представляет собой ресурсоемкий процесс, отвечающий при формировании контента всем организационным и методическим требованиям, предъявляемым к средствам обучения.

Литература

1. Ерёмина И. И. Проектирование и организация информационной образовательной среды вуза в условиях совершенствования образовательного процесса // Вестник Университета Российской академии образования, 2013. № 4. С. 33-38.

2. Разработка цифровых образовательных ресурсов нового поколения // Российский общеобразовательный портал. [Электронный ресурс]. URL: http://edu.of.ru /default.asp?ob_no=8845.

3. Соловьев А. Б. Методические особенности разработки и внедрения мультимедиа в учебном процессе в современном вузе. / Вестник Челябинского государственного педагогического университета. Выпуск № 1, 2012.

4. Авдеева С. А. Цифровые ресурсы в учебном процессе: [о проекте «Информатизация системы образования» и о создании Единой коллекции цифровых образовательных ресурсов] // Народное образование, 2013. № 1. С. 182.

Запуск программы из загрузчика Петров А. А.1, Будин Д. И.2

'Петров Алексей Александрович /Petrov Alexey Aleksandrovich — студент; 2Будин Дмитрий Иванович /Budin Dmitry Ivanovich — студент, кафедра систем автоматического управления и контроля, факультет интеллектуальных технических систем,

Национальный исследовательский университет, Московский институт электронной техники, г. Зеленоград

Аннотация: в статье рассматривается запуск загруженной в память программы из загрузчика. Показаны два способа выполнения данной задачи, посредством двух языков программирования ассемблера и Си.

Abstract: the article discusses the launch of loaded in the program memory from the boot loader. Shows two ways to perform this task, by means of the two programming languages the assembler and C.

Ключевые слова: протокол передачи данных, UART, ассемблер, Си. Keywords: the data transfer protocol, UART, assembler, C.

Нередко разработчики загрузчиков сталкиваются с проблемой, когда необходимо запустить программу, сразу же после ее записи в память. В данной статье будет рассмотрен способ решения данной проблемы.

Загрузчик (англ. loader) — в информатике, программа, отвечающая за загрузку исполнимых файлов и запуск соответствующих новых процессов. Обычно является частью операционной системы, но может быть и самостоятельной программой — к примеру, позволяющей операционной системе запускать программы, скомпилированные для других операционных систем [1]. Практически во всех современных вычислительных устройствах содержится загрузчик (bootloader, loader). К примеру, в персональных компьютера встроен BIOS (Basic Input/ Output System), ведь именно с помощью него на компьютер, возможно, установить ту или иную операционную систему.

Рассмотрим запуск программы из памяти. Предположим, что первая команда программы хранится в адресе 0x100000. Тогда, чтобы запустить программу нам понадобиться соответствующий код. Его можно написать и на языке СИ и на ассамблере. Рассмотрим два варианта. 1. Код ассамблера: #define Address 0x100000

_asm void RunProg (void)

{

NOP

LDR R0, = Address LDR R1, [R0]

I 25 I СОВРЕМЕННЫЕ ИННОВАЦИИ № 6(8) 2016

MOV SP, R1 LDR R1, [R0, #4]

BX R1

}

int main(void) {...

SCB->VTOR = Address;

RunProg (); }

2. Код на языке СИ typedef void RunFirmware(void);

RunFirmware* ptrRunFirmware = (RunFirmware*)(0x100000); (*ptrRunF irmware)();

В программном коде ассамблера происходит работа с регистрами общего назначения R0, R1, а также с регистром PC, SP. PC (program counter) - регистр содержащий адрес текущей инструкции или следующей, в зависимости от процессора. SP ( stack pointer) - указатель стека. В Си же намного проще, мы просто создаем указатель на функцию расположенную по адресу 0x100000. В Си сама функция не является переменной, но можно определить указатель на функцию и работать с ним, как с обычной переменной: присваивать, размещать в массиве, передавать в качестве параметра функции, возвращать как результат из функции и т. д. [2]. Стоить отметить, что в первом примере использовались ассмаблерные вставки.

Очевидно, что программа, написанная на языке СИ, в разы проще, это одна из причин по которой ассамблер используется лишь в крайних случаях, когда есть критичные участки кода или же когда программисту скучно и он не знает чем заняться.

Литература

1. [Электронный ресурс]: Загрузчик_программ. URL: https://ru.wikipedia.org/wiki.

2. Брайан Керниган, Деннис Ритчи. Язык программирования Си. 3 издание.

Вариантное проектирование оснований и фундаментов автосалона «Тойота»

в г. Энгельс Цветкова П. Ю.

Цветкова Полина Юрьевна / Cvetkova Polina — студент, кафедра инженерной геологии, оснований и фундаментов, факультет промышленного и гражданского строительства, Самарский государственный архитектурно-строительный университет, г. Самара

Аннотация: в статье приведены результаты экономического сравнения пяти вариантов фундаментов, определен наиболее эффективный вариант.

Abstract: the paper focuses on the economical comparison of the five foundation types. As a result of research the author has defined the most effective one.

Ключевые слова: фундамент, вариантное проектирование, сравнение вариантов фундаментов. Keywords: foundation, trial design, comparison of the foundation types.

В данной статье представлены результаты расчетов пяти видов фундаментов в соответствиями с указаниями, представленными в [1] с целью определения наиболее эффективного варианта. Здание автосалона имеет прямоугольную форму в плане с размерами 65,05x52 м. Высота здания 10м. Основание площадки строительства сложено следующими грунтами (сверху вниз):

1. Суглинок просадочный, мощность слоя: 2,5 м;

2. Глина легкая полутвердая, мощность слоя: 3,5 м;

3. Глина легкая тугопластичная, мощность слоя: 7 м.

СОВРЕМЕННЫЕ ИННОВАЦИИ № 6(8) 2016 | 26 |

i Надоели баннеры? Вы всегда можете отключить рекламу.