Project

General

Profile

1) Windows » History » Version 6

krufter_multiclet, 07/09/2013 05:36 PM

1 1 krufter_multiclet
h1. 1) Windows
2 1 krufter_multiclet
3 2 krufter_multiclet
В Windows на данный момент существует три варианта сборки проекта:
4 2 krufter_multiclet
5 2 krufter_multiclet
1) С помощью PSPad из SDK
6 2 krufter_multiclet
7 2 krufter_multiclet
2) Драйвером mc-lcc
8 2 krufter_multiclet
9 2 krufter_multiclet
3) Последовательным вызовом 
10 2 krufter_multiclet
Для Си файла: mc-mcpp, mc-rcc, mc-as
11 2 krufter_multiclet
Для asm файла: mc-as
12 2 krufter_multiclet
И затем для всех используемых файлов с полученным после mc-as расширением *.o вызываем mc-ld и получаем image.bin (образ памяти)
13 2 krufter_multiclet
14 2 krufter_multiclet
Далее можем загрузить образ памяти командой mc-ploader image.bin
15 3 krufter_multiclet
16 3 krufter_multiclet
h2. Рассмотрим первый способ сборки проекта подробнее
17 3 krufter_multiclet
18 3 krufter_multiclet
1) Запускаем PSPad из установленного SDK
19 3 krufter_multiclet
20 3 krufter_multiclet
2) Выбираем Проекты -> Новый проект
21 3 krufter_multiclet
22 3 krufter_multiclet
3) Проекты -> Открыть файл из папки, выбираем необходимые для проекта файлы
23 3 krufter_multiclet
24 3 krufter_multiclet
4) Проекты -> Добавить все открытые файлы
25 3 krufter_multiclet
26 3 krufter_multiclet
5) Файл -> Компилировать, вводим имя проекта и получаем в папке out образ памяти image.bin
27 4 krufter_multiclet
28 4 krufter_multiclet
29 4 krufter_multiclet
h2. Рассмотрим второй способ сборки проекта
30 4 krufter_multiclet
31 4 krufter_multiclet
Запись команды в одну строку:
32 4 krufter_multiclet
33 4 krufter_multiclet
<pre>
34 6 krufter_multiclet
mc-lcc -v -target=mcp/win32 -Wp-IC:\MultiClet\SDK\include\MCp0411100101  -Wa--arch=MCp0411100101 
35 5 krufter_multiclet
-Wa-IC:\MultiClet\SDK\MCp0411100101" -Wa-g -Wl-M -Wl-LC:\MultiClet\SDK\lib\MCp0411100101 
36 5 krufter_multiclet
-Wl-lmath -Wl-luart -Wl-li2cmaster -Wl-li2cslave -Wl-lwdt -Wl-lpwm -Wl-lspi -Wl-leth
37 5 krufter_multiclet
-o out/image.bin C:\MultiClet\SDK\lib\MCp0411100101\crt0.o uart_ex1.c
38 1 krufter_multiclet
</pre>
39 6 krufter_multiclet
40 6 krufter_multiclet
Разберём строчку подробно:
41 6 krufter_multiclet
42 6 krufter_multiclet
mc-lcc - вызов драйвера lcc
43 6 krufter_multiclet
44 6 krufter_multiclet
-target=mcp/win32 - указываем для какой ОС собирается проект(mcp - для Linux, mcp/win32 - для Windows)
45 6 krufter_multiclet
46 6 krufter_multiclet
-Wp-I C:\MultiClet\SDK\include\MCp0411100101  - расположение подключаемых файлов библиотек(.h) и констант (.inc)
47 6 krufter_multiclet
48 6 krufter_multiclet
-Wa--arch=MCp0411100101 - указываем процессор для которого создаётся проект
49 6 krufter_multiclet
50 6 krufter_multiclet
-Wl-L C:\MultiClet\SDK\lib\MCp0411100101 - расположение библиотек
51 6 krufter_multiclet
52 6 krufter_multiclet
-Wl-lmath -Wl-luart ... - библиотеки, которые хотим подключить (подключение всех не увеличит образ памяти,
53 6 krufter_multiclet
если функции библиотеки не используются в программе)
54 6 krufter_multiclet
55 6 krufter_multiclet
-o out/image.bin - расположение образа памяти
56 6 krufter_multiclet
57 6 krufter_multiclet
C:\MultiClet\SDK\lib\MCp0411100101\crt0.o - подключение библиотеки crt0.o - необходимо для всех файлов на Си,
58 6 krufter_multiclet
а также файлов на asm, использующих стек или встроенный первичный обработчик прерываний.
59 6 krufter_multiclet
60 6 krufter_multiclet
uart_ex1.c - имя файла с программой (имена файлов Си и asm для проекта записываются через пробел)