реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Вопрос по Keil, как компилить.....?
Paramon
сообщение Aug 3 2007, 04:13
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 5-10-06
Пользователь №: 20 997



Требуется откомпилить код без инициализации.....
Кейл сам подставляет какой-то код по умолчанию, похожий на startup!
Мне требуется подгружать код в озу, в котором не должно быть никаких настроек для кристала.
Т.е. просто исполняемый код.
Как настроить компилятор для таких целей? Возможно ли зто?
Если нет, то чем можно вопользоваться?

Спасибо!
Go to the top of the page
 
+Quote Post
Paramon
сообщение Aug 3 2007, 07:37
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 5-10-06
Пользователь №: 20 997



Взял пример "Работа с SD/MMC", добавил туда команду RUN.
Получилось следующее:

этим запускаю/объявляю уже загруженный из SD в озу модуль как TASK:
Код
void    ram_run(unsigned int addr) __swi(10)
    {
        TASK10 = os_tsk_create(addr,0);
    }



этим загружаю модуль (код) из SD в озу:
Код
/*run*/            else if(strcmp(cmdwork,scmd_run) == 0)
                    {
                        if(flag1 & flag1_sd_mmc)
                            {
                                if(file_fopen( &filer,&(efs.myFs), cmdparam, 'r') == 0)
                                    {
                                        addr_run = ram_addr_end;
                                        while((e = file_read(&filer,512,buf)))
                                            {
                                                memCpy(&buf,ram_addr_end,e);
                                                ram_addr_end += e;
                                            };
                                        file_fclose(&filer);
                                        fs_umount(&(efs.myFs));
                                        //
                                        if((ram_addr_end & 0x00000011) > 0)
                                            {
                                                ram_addr_end &= 0xFFFFFFFC;
                                                ram_addr_end += 0x00000004;
                                            };
                                        ram_run(addr_run);
                                        //
                                    };
                            };
                    }


терминал:
Код
SD_MMC/>dir
UPR     EXE ( 764416 bytes )
IGNORE~1    ( 0 bytes )
UPR~1   SET ( 1144 bytes )
UPR         ( 0 bytes )
TEST        ( 0 bytes )
SD_MMC/>cd test
SD_MMC/test>dir
MOD     BIN ( 84 bytes )
SD_MMC/test>run /test/mod.bin
SD_MMC/test>


Запустил MOD.BIN несколько раз, все они работают параллельно.
Вроде всё в порядке, но никак немогу получить полноценные запускаемые и загружаемые коды

MOD.BIN получил издеваясь(короче зациклил) над стандартным(в КЕЙЛ) STARTUPом, а как положено откомпилить не выходит. Вообще то это и есть вопрос к этой теме
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th August 2025 - 23:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01369 секунд с 7
ELECTRONIX ©2004-2016