-
- Оформил скрипт линкера вот в таком виде: 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)