-
- ну наверное типа такого Alex B.(933 знак., 30.07.2008 10:42)
- Оформил скрипт линкера вот в таком виде: Nikolaev_Aleksey(755 знак., 30.07.2008 11:27)
- ИМХО не совсем правильно. Если в целевом приложении указывать функции атрибут __interrupt__, то на входе будет добавлено сохранение контекста. Alex B.(219 знак., 30.07.2008 11:42)
- Ага. Надо вычислять размер самому... Именно хотелось чтоб автоматом все. И "универсальзьму"... Я несколько сумбурно озвучил, щас попробую еще раз: C векторами в бутлодыре понятно - AIVT заполняем адресами таблицы переходов, расположенной допустим в Гудвин(423 знак., 30.07.2008 12:05)
- Ну дык все правильно. Палюбому у бутлоадера и у приложения разные скрипты линкера. В бутлоадерном просто ручками прописать адреса, начиная с первого, с интервалом в 0x0004. Alex B.(243 знак., 30.07.2008 13:06)
- Спасибо, добрый человек. Вот щас каша в голове вроде утрамбовалась :) А насчет CodeGuard - да не нужны мне всяческие разграничения памяти и "программных потоков" Куда юзеру можно ходить, а куда низзя... Нигде низзя! :) Посему достаточно просто закрыть Гудвин(483 знак., 30.07.2008 14:15)
- не, видать не утрамбовалось =) CodeGuard мощная штука, которой как раз можно защитить бутлоадер от порчи. Тоже все логично, просто почитать надо. Alex B.(106 знак., 30.07.2008 14:26)
- Ты хочешь сказать, что если в битах конфигурации я взведу "General Segment Code Protection" , то программатором я могу лазить в кристалле, как вздумается??? Тогда точно каша не утрамбовалась... Разъебесни! Write Protect на "Воот" это конечно гарно, Гудвин(146 знак., 30.07.2008 14:44)
- да я сам не все понимаю =))) но бутлоадер в BOOT, приложение в GENERAL. BOOT защищается от чтения (подразумевается run-time чтение из кода) и записи. и всего делов. - Alex B.(30.07.2008 14:58)
- Фу, напужал, окоянный :) Щас в pic24 попробовал установить защиту (впервые :) Все гарно - программатор читает нули. Думаю и с 33F тоже прокатит, если поставлю на все области памяти ;) А ОЕМ и продвинутых юзверей как-то не ожидаеццо (с тремя уровнями Гудвин(220 знак., 30.07.2008 15:28)
- дык программатор то читает. А хацкер может залить свой код, который читает бутлоадер изнутри и выдает его наружу =) - Alex B.(30.07.2008 15:50)
- Хех... То-бишь можно не производить программатором общее стирание кристалла, а стереть первую страницу и аписать код в десяток ассемблерных строк? Оболочка PicKit трет все. MPLAB тоже. А хацкерам карт бланш? Гудвин(52 знак., 30.07.2008 16:01)
- RTFM. Мы говорим о разных вещах - Alex B.(30.07.2008 16:06)
- Ты наверное сипесиально воду мутишь :) Какой там нах хакер? Заиппецца он XTEA, помноженный на 32 оборота крутить в руках, чтоб чой-то свое присунуть... Гудвин(451 знак., 30.07.2008 18:22)
- Правда ишшо присутствует весьма туманная "Executive Code Memory", используемая отладчиком... - Гудвин(30.07.2008 19:49)
- Да я как-то пока не озабочивался защитой в PIC>16... У атымеля, ежели взводишь защиту, то доступ возможен только при полном стирании всего. С PIC24/33 не так что-ли? - Гудвин(30.07.2008 16:16)
- Ты наверное сипесиально воду мутишь :) Какой там нах хакер? Заиппецца он XTEA, помноженный на 32 оборота крутить в руках, чтоб чой-то свое присунуть... Гудвин(451 знак., 30.07.2008 18:22)
- RTFM. Мы говорим о разных вещах - Alex B.(30.07.2008 16:06)
- Хех... То-бишь можно не производить программатором общее стирание кристалла, а стереть первую страницу и аписать код в десяток ассемблерных строк? Оболочка PicKit трет все. MPLAB тоже. А хацкерам карт бланш? Гудвин(52 знак., 30.07.2008 16:01)
- дык программатор то читает. А хацкер может залить свой код, который читает бутлоадер изнутри и выдает его наружу =) - Alex B.(30.07.2008 15:50)
- Фу, напужал, окоянный :) Щас в pic24 попробовал установить защиту (впервые :) Все гарно - программатор читает нули. Думаю и с 33F тоже прокатит, если поставлю на все области памяти ;) А ОЕМ и продвинутых юзверей как-то не ожидаеццо (с тремя уровнями Гудвин(220 знак., 30.07.2008 15:28)
- да я сам не все понимаю =))) но бутлоадер в BOOT, приложение в GENERAL. BOOT защищается от чтения (подразумевается run-time чтение из кода) и записи. и всего делов. - Alex B.(30.07.2008 14:58)
- Ты хочешь сказать, что если в битах конфигурации я взведу "General Segment Code Protection" , то программатором я могу лазить в кристалле, как вздумается??? Тогда точно каша не утрамбовалась... Разъебесни! Write Protect на "Воот" это конечно гарно, Гудвин(146 знак., 30.07.2008 14:44)
- не, видать не утрамбовалось =) CodeGuard мощная штука, которой как раз можно защитить бутлоадер от порчи. Тоже все логично, просто почитать надо. Alex B.(106 знак., 30.07.2008 14:26)
- Спасибо, добрый человек. Вот щас каша в голове вроде утрамбовалась :) А насчет CodeGuard - да не нужны мне всяческие разграничения памяти и "программных потоков" Куда юзеру можно ходить, а куда низзя... Нигде низзя! :) Посему достаточно просто закрыть Гудвин(483 знак., 30.07.2008 14:15)
- Ну дык все правильно. Палюбому у бутлоадера и у приложения разные скрипты линкера. В бутлоадерном просто ручками прописать адреса, начиная с первого, с интервалом в 0x0004. Alex B.(243 знак., 30.07.2008 13:06)
- Да нет, не совсем меня поняли. Попробую описать как я планирую: т.к. будет неизвестно какие прерывания будут использоваться в приложении(Application) и я запрещаю переписывать таблицу ivt через бутлоадер(BOOT). поэтому таблицу ivt я оформляю в проекте Nikolaev_Aleksey(203 знак., 30.07.2008 12:01)
- И я о тоом самом. "Кулик кулика..." :)) - Гудвин(30.07.2008 12:06)
- Ага. Надо вычислять размер самому... Именно хотелось чтоб автоматом все. И "универсальзьму"... Я несколько сумбурно озвучил, щас попробую еще раз: C векторами в бутлодыре понятно - AIVT заполняем адресами таблицы переходов, расположенной допустим в Гудвин(423 знак., 30.07.2008 12:05)
- ИМХО не совсем правильно. Если в целевом приложении указывать функции атрибут __interrupt__, то на входе будет добавлено сохранение контекста. Alex B.(219 знак., 30.07.2008 11:42)
- Оформил скрипт линкера вот в таком виде: Nikolaev_Aleksey(755 знак., 30.07.2008 11:27)
- Аналогично занимаюсь этой же проблемой. пока не могу решить как вставить в код бутлоадыря в секцию .IVT команды GOTO на мои адреса (решил таблицу векторов начать с 0x1800 полностью). и еще нужно заставить линкер считать CRC16 самого бутлоадыря в Nikolaev_Aleksey(57 знак., 30.07.2008 08:45)
- про первое рассказал, про второе - п. 9.8 в документации на линкер. Может быть поможет - Alex B.(30.07.2008 10:53)
- может я чего то не понял, но в там есть полноценный CodeGuard Alex B.(94 знак., 30.07.2008 00:42, ссылка)
- Пошукай на форум.микрочип.ком по ключу "Ingenia Bootloader". А вообще использовать прерывания в бутлодыре есть ламерство непростительное - нах они там не нужны - MBedder(29.07.2008 20:21)
- Они мне там тоже не вперлись (хотя я там хочу практически полноценную файловую систему)... А вот чего шибко не хочу - затирать стартовый вектор (переход на бутлодырь). Некрочиповцы предлагают только это: "RTSP allows the user application to erasea page Гудвин(640 знак., 29.07.2008 22:45)
- Для фиксации функций/векторов по адресам, в С30 существуют всякие интринсики - builtin'ы и атрибуты, коих хуча туева - пройдись, авось наберешь на свой изврат - MBedder(29.07.2008 23:09)
- Вот в их родимых и запуталсо :) Потому спросил типа образец изврата :) Што приечательно все это прекрасненько жывет в м168. Но, блин, стал доступен dsPIC33FJ128MC804 и внес смятение - запас ресурсов-то карман не тянет... - Гудвин(29.07.2008 23:15)
- Эт точно :)) MBedder(29.07.2008 23:34, картинка)
- Колись, что за COG символьный? По размерам похоже и мне вполне влезет. Графические Ampire точно не помещаются... - Гудвин(30.07.2008 00:05)
- Такой тоже не помещается? =) - she(30.07.2008 01:02, ссылка)
- Он помещается, но с ним другая крайность - мелковат, етить :) - Гудвин(30.07.2008 01:05)
- Надо ширину видимой области 40 мм. Высота не критична. Те, что есть в Gamma SPb, вширь не лезут чуть-чуть, а если разместить вертикально, фиг чего осмысленное напишешь - маловато пикселей. - Гудвин(30.07.2008 01:10)
- А TIC120? Разрешение конечно не ахти, но зато размер думаю подходящий - Alex B.(30.07.2008 10:44, ссылка, картинка)
- От Нокии экранчик уже не канает? - she(30.07.2008 01:21)
- Экранчик очень даже канает. Даже пяток тестовых плат готовы. Но столкнулся с очень неприятным сюрпризом - из пяти комплектов корпусных деталей собрать смог нормально только 2. Гудвин(260 знак., 30.07.2008 01:27)
- Тады наверно только заказной... - she(30.07.2008 01:29)
- Экранчик очень даже канает. Даже пяток тестовых плат готовы. Но столкнулся с очень неприятным сюрпризом - из пяти комплектов корпусных деталей собрать смог нормально только 2. Гудвин(260 знак., 30.07.2008 01:27)
- Поставьте два =) - she(30.07.2008 01:08)
- Надо ширину видимой области 40 мм. Высота не критична. Те, что есть в Gamma SPb, вширь не лезут чуть-чуть, а если разместить вертикально, фиг чего осмысленное напишешь - маловато пикселей. - Гудвин(30.07.2008 01:10)
- Он помещается, но с ним другая крайность - мелковат, етить :) - Гудвин(30.07.2008 01:05)
- А вот --> - MBedder(30.07.2008 00:29, ссылка)
- Такой тоже не помещается? =) - she(30.07.2008 01:02, ссылка)
- Колись, что за COG символьный? По размерам похоже и мне вполне влезет. Графические Ampire точно не помещаются... - Гудвин(30.07.2008 00:05)
- Эт точно :)) MBedder(29.07.2008 23:34, картинка)
- Вот в их родимых и запуталсо :) Потому спросил типа образец изврата :) Што приечательно все это прекрасненько жывет в м168. Но, блин, стал доступен dsPIC33FJ128MC804 и внес смятение - запас ресурсов-то карман не тянет... - Гудвин(29.07.2008 23:15)
- Для фиксации функций/векторов по адресам, в С30 существуют всякие интринсики - builtin'ы и атрибуты, коих хуча туева - пройдись, авось наберешь на свой изврат - MBedder(29.07.2008 23:09)
- Они мне там тоже не вперлись (хотя я там хочу практически полноценную файловую систему)... А вот чего шибко не хочу - затирать стартовый вектор (переход на бутлодырь). Некрочиповцы предлагают только это: "RTSP allows the user application to erasea page Гудвин(640 знак., 29.07.2008 22:45)
- ну наверное типа такого Alex B.(933 знак., 30.07.2008 10:42)