|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 10:46 pm
In-Application-Programming
| Автор |
Съобщение |
|
DanielDimov
Ранг: Почетен член
Регистриран на: Нед Фев 16, 2014 3:36 pm Мнения: 953
|
 Re: In-Application-Programming
нищо не ми се вижда сложно - просто питам чипа може ли го или не? ако не го може - значи процедурката трябва да се копира в RAM-а. ако го може - евала на Microchip - пичове са!
|
| Пон Окт 05, 2015 12:04 pm |
|
 |
|
tolstolob
Ранг: Ориентиран
Регистриран на: Вто Фев 06, 2007 2:45 am Мнения: 263
|
 Re: In-Application-Programming
8-битовите пикове не могат да изпълняват код от РАМ-а!
|
| Пон Окт 05, 2015 12:07 pm |
|
 |
|
DanielDimov
Ранг: Почетен член
Регистриран на: Нед Фев 16, 2014 3:36 pm Мнения: 953
|
 Re: In-Application-Programming
този PIC18 за който даде соурса 8-битов ли е?
Последна промяна DanielDimov на Пон Окт 05, 2015 12:11 pm, променена общо 1 път
|
| Пон Окт 05, 2015 12:10 pm |
|
 |
|
gicho
Ранг: Форумен бог
Регистриран на: Пон Мар 13, 2006 1:59 pm Мнения: 3867 Местоположение: Габрово
|
 Re: In-Application-Programming
Декриптирането в бутлоадъра е задължително - ако опиташ да декриптираш фирмуера в ПЦ-то ще станеш за смях като пичовете от СТМ дето са писали st-link utility-то - ъпдейта за ст-линка идва криптиран, обаче те го декриптират и го криптират с друг ключ... Е, точно в тоя момент у средата хората ги хващат по бели гащи и вадят хекс-а за ст-линка.
|
| Пон Окт 05, 2015 12:10 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: In-Application-Programming
Точно така е, не могат, на малките пикове, рама е с характер на регистър и е закачен само на дейта шината. Също така не могат да четат и пишат във различни части на флеша едновременно. Но не им и трябва. Просто инструкцията за запис сталва ядрото, докато не приключи. То всички по прости контролери са така. Мисля, че на някой армове можеше да търкаляш код в РАМа докато пишеш флеша, но на STM например, записа в флеша винаги сталва ядрото, така, че е безмислено това упражнение. Редкия случай когато бутлоадера трябва да е в РАМ-а е, когато се ъпдейтва бутлоадера сам по себе си, ама това е доста противоречива практика.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
Последна промяна Цецо на Пон Окт 05, 2015 12:13 pm, променена общо 1 път
|
| Пон Окт 05, 2015 12:11 pm |
|
 |
|
tolstolob
Ранг: Ориентиран
Регистриран на: Вто Фев 06, 2007 2:45 am Мнения: 263
|
 Re: In-Application-Programming
|
| Пон Окт 05, 2015 12:13 pm |
|
 |
|
DanielDimov
Ранг: Почетен член
Регистриран на: Нед Фев 16, 2014 3:36 pm Мнения: 953
|
 Re: In-Application-Programming
Значи не са пичове, а просто не са имали избор.
ARM също не са пичове защото на кортексите когато триеш или пишеш във флаша - по същото време не може да се изпълнява код от него независимо че е от друга страница. Въобще като има изтриване/програмиране на коя да е страница от флаша - всички четения са блокирани, което е доста тъпо, но е факт.
|
| Пон Окт 05, 2015 12:32 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: In-Application-Programming
Нали това написах по-горе. Напротив, не е тъпо. Дуракоустойчиво е. В ужасно редки случаи ще ти се наложи да търкаляш код и да пишеш флеша едновременно. Специално за бутлоадера е като цяло безмислено, защото сталването на ядрото докато си запише флеша си е кратко като цяло, а и процесора няма кой знае какво да прави през това време, така или иначе ще седи да чака да се запише, за да го провери след това дали се е записало и т.н. UART, УСБ и т.н. са си буферирани, така, че малки сталове на ядрото не ги бъркат. Не виждам какво друго можеш да правиш през това време. Е освен ако нямаш някакъв хипер дупер криптиращ алгоритъм, който иска зверско ЦПУ натоварване и държиш да паралелизираш процесите, ама тук мисля, че не говорим за подобни фантасмагории. Както казах, единствения смисъл да търкаляш код в РАМ и да пишеш флеш едновременно е ако ще ъпдейтваш самия бутлоадер, това кортексите го могат (нищо, че блокират докато трае гранулирания запис), ама това си е таралеж в гащите по отношение на сейфтито, защото отваряш врата за тотално брикване. Аз лично никога не съм влагал такова нещо в мое изделие. В интерес на истината специално за STM, не мога да кажа, дали сталва ядрото ако търкаляш от РАМ и пише/триеш флеш. Нещо ми се мота, че пак го сталваше. На времето търкалях едни АРМ9, дето не сталваше, но за специално за STM нещо ме гложди, че сталва. Както и да е, това за бутлоадера не е пробелм според мен.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пон Окт 05, 2015 1:08 pm |
|
 |
|
DanielDimov
Ранг: Почетен член
Регистриран на: Нед Фев 16, 2014 3:36 pm Мнения: 953
|
 Re: In-Application-Programming
Флаша си е памет, при това енергонезависима. На чиповете, които нямат вграден EEPROM, единствения начин да съхраниш нещо по-трайно е да го запишеш във флаша. Така че - нуждата от едновременно триене/писане и работа на програма си я има. Вече ако обема на вътрешния флаш не ти е достатъчен - закачаш нещо външно и така - с него такива ограничения нама 
|
| Пон Окт 05, 2015 1:17 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: In-Application-Programming
Това да псъхраняваш данни във флеша (вътрешния), е като да завиваш винт с нож. Не че не става... просто концептуално е сбъркано.
Като изключим неудобството (по-малък брой презаписи, големи страници и т.н.) крие и сериозен риск. Много процесори ако ги смутиш докато си дращят флеша (пикове, дропове в захранването) могат да доведат до непредсказуеми резултати, даже и да не пишеш върху юзерски код (или поне ти така си мислиш) и да брикнеш целия дивайс. Отново проблем със сейфтито.
Имаше едни кинетиси дето могат да си преконфигурират част от флеша, като даннов със специален достъп, ама те фрискеил какви ли не извращения нямат, та това ли...
Въобще процедурите по ъпдейт на флеша (фирмуера) не са нещо безобидно. Това, че масово се прави в последно време е по - скоро грешка, която рано или късно си дава резултата. В миналото никой не упдейтваше, ама и не се налагаше. Просто се тестваше преди това както трябва. А сега - давай да бързаме, после ще оправяме в движение... Еми...
Задълбаваме в частни случаи. Аз доколкото разбирам, концептуално още нямате нищо фиксирано, що дискутираме подобни щуротии? Ако ще правиш тепърва сериозен дивайс и спестиш EPROM за сметка на вътрешния флеш още на дизаин ниво, мисля, че е безмислено да дискутираме по натам - ти почваш с кръпките преди да имаш гащите.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пон Окт 05, 2015 1:26 pm |
|
 |
|
DanielDimov
Ранг: Почетен член
Регистриран на: Нед Фев 16, 2014 3:36 pm Мнения: 953
|
 Re: In-Application-Programming
Ако си определиш две страници само за данни примерно - каквото и да става докато ги триеш/пишеш - най-много да загубиш данните... Но от къде на къде ще крие риск за останалото?!?!? Ако има такъв чип, който може да скапе данни във флаша, които НЕ ПИПАШ - явно е проектиран от китайци или индийци. Не бих се хванал с такава фирма никога!!!
Ако наистина има такива чипове - кажете кои са за да знаят всички!
|
| Пон Окт 05, 2015 1:38 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: In-Application-Programming
Ако знаеш такъв, който черно на бяло да е записано, че е имунизиран от подобен проблем - кажи да го знаем всички. Не мисля, че ще намериш някъде в дейта шита разписана такава гаранция. И е съвсем основателно да я няма, предвид начините по-които работят флеш контролерите. Не случайно при писане във флеш се забраняват прекъсванията. Ти си отговори сам защо.
Относно това, кой е проектирал чипа, не мисля, че твоето мнение има значение за някого там горе, нито пък че ще ти бъде предоставена подобна информация.
Въобще аз спирам, мисля, че дискусията стана скучна. Питаше за бутлоадер, отговори ти се. Ти си проектанта ти си решаваш.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пон Окт 05, 2015 1:43 pm |
|
 |
|
DanielDimov
Ранг: Почетен член
Регистриран на: Нед Фев 16, 2014 3:36 pm Мнения: 953
|
 Re: In-Application-Programming
Всеки който е с буутлоадър в ROM би трябвало да е имунизиран от "брикване".
За тези които буутлоадъра е във флаш - явно няма гаранция... скапана работа - винаги съм си представял че нещата се правят по-стабилно и с повече хардуер, но явно стремежа е всичко което може да се прави софтуерно
|
| Пон Окт 05, 2015 2:02 pm |
|
 |
|
gicho
Ранг: Форумен бог
Регистриран на: Пон Мар 13, 2006 1:59 pm Мнения: 3867 Местоположение: Габрово
|
 Re: In-Application-Programming
Искаш ли идея за чип с еднократно програмируем ROM за бутлоадър и флаш за приложението? РОМ-а си е баш ром и няма триене след първоначалното програмиране.
|
| Пон Окт 05, 2015 2:39 pm |
|
 |
|
DanielDimov
Ранг: Почетен член
Регистриран на: Нед Фев 16, 2014 3:36 pm Мнения: 953
|
 Re: In-Application-Programming
аз ли си слагам BL-а еднократно? искам разбира се!
|
| Пон Окт 05, 2015 3:08 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 2 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|