• [ HOME ]
  • old_design_site
  • blog.karadev.net
  • youtube channel
  • old books
  • forum.karadev.net
  • C/C++books_FIRST
  • C/C++books_SECOND
  • C/C++books_THIRD
  • DOWNLOAD
  • FOR SALE
  • ЕЛЕКТРОНИКА facebook group
  • LINK GITHUB
  • PICKER PRO MANAGER
  • BEST DANCE ALL HITS 90 ;)
  • PLC IMAGES GALLERY
  • FOR IT BEGINNERS
  • СПИСЪК СТАТИИ В САЙТА
  • ЕЛЕКТРОНИКА ЗА НАЧИНАЕЩИ
  • ПИК ПРОЦЕСОРИ & ПРОЕКТИ & ИНФОРМАЦИЯ
www.karadev.net
ЕЛЕКТРОНИКА = ПРОГРАМИРАНЕ = ПРОЕКТИРАНЕ = ОБУЧЕНИЕ = РЕКЛАМА = РАЗВОЙНА /R & D/ ДЕЙНОСТ = АВТОМАТИЗАЦИЯ = ДРУГИ
  1. You are here:  
  2. Home
  3. ПИК ПРОЦЕСОРИ & ПРОЕКТИ & ИНФОРМАЦИЯ

ПРОБЛЕМ и РЕШЕНИЕ на компилирания код за ПИК ПРОЦЕСОРИТЕ със XC8 компилатора, версия v2.64 - част 1

ПРОБЛЕМ и РЕШЕНИЕ на компилирания код за ПИК ПРОЦЕСОРИТЕ със XC8 компилатора, версия v2.64

графика на засечения ХЕКС / HEX / код качен във флаша на пик процесора PIC18F27/47/57K42. разположението на хекс байтовете започва от средата на флаш паметта и се разпространява към двата края на адресите според големината на сорс кода от проекта

0х10000 >>> 0х00000

0х10000 >>> 0х1FFFF

Това води до невъзможност на девелоперите да използват свободната флаш памет за четене / запис директно вътре в процесора за данни, които са необходими директно в хардуерно / софтуерни проекти / решения. за пример можем да вземем, че тези свободни зони от флаш паметта могат да бъдат използвани като по-голям ЕЕПРОМ директно във флаш паметта на пик процесора, като за четенето и записа във флаш паметта има налични софтуерни функции дадени от микрочип в код генератора.

Графиката по долу добре показва разположението на хекс байтовете от компилирания код, който е качен от програматор и / или от функцията за запис на флаша в буутлодера.

дадените адреси, където трябва да се запишат хекс байтовете са дадени във компилирания хекс файл, който е по ИНТЕЛ ХЕКС СТАНДАРТ / INTEL HEX STANDARD /, така че реално в записа на данните прогрматорите и буут лоадерите нямат отношение към пресмятането на адресите къде да бъде записан и как да бъде разположен хекс файла във флаш паметта.

Програматорите и буутлоадер функциите просто декодират данните от редовете на хекс файловете, като във всеки един ред на хекс файла е описано на кой адрес във флаш паметта колко и кои байтове да се запишат.

Адресната аритметика и изчисление / определяне на адресите на хекс байтовете е свързана със архитектурата на процеосора, като с това се съобразява както компилатора, така и линкер програмата за компилиране и правилно пресмятане на адресните клетки във флаш паметта.

Компилирания хекс файл, който може да бъде разчетен / декодиран от всеки запознат със ИНТЕЛ ХЕКС СТАНДАРТА за компилиране съдържа информация както за компилирания сорс код къде да бъде разположен, така и за еепром данните, който също могат да бъдат зададени със макрос във сорск кода директно, тъй като знаете, че еепром паметта може да съдържа важни данни за първоначално зареждане на променливи и/или константи при стартирането на процесора.

Компилирания хекс файл се различава във вариант на разположение на хекс кода в адресите, когато има наличие на буут лоадер зона в стартовите адреси на флаш паметта, както и когато има налични дефинирани прекъсвания от главната функция за прекъсвания, както и описание на функциите обработващ тези прекъсвания във главната функция за прекъсвания в сорс кода.

функциите за прекъсвания в пик процесорите могат да бъдат както една обща за всички прекъсвания в процесора, така и разделени на функции за прекъсвания с нисък приоритет и функции за прекъсвния с висок приоритет, в зависимост от модела процесор, който използвате във вашият проект. също така някой по-големите пик процесори фамилия 18Fxxxxx могат да имат отделен вектор / адрес за всяко отделно хардуерно прекъсване, като това е описано във таблицата на векторите за прекъсване във пдф файла на процесора.

така, за по-запознатите в програмрането / електрониката / автоматизацията тази графика по-долу ще им разясни много повече от хиляда обяснения. за останалите, които искат да научат повече за ИНТЕЛ ХЕКС СТАНДАРТА за компилиране на сорс код на езика С/С++ има го обяснен в нета, аз съм го разкостил целия хекс адре по адрес и знам ко пише вътре и кое къде ще бъде поставено при запис в флаш паметта на пик процесорите.

този проблем има решение, което беше дадено от съпорта на микрочип, след като два месеца им обяснявах какъв е проблема и как трябва да се направи адресната аритметика на компилираните хекс адреси директно във процеса на компилиране на сорс кода от който и да е проект за който и да е пик процесор.

след като съпорта и програмистите на компилатора и линкера във ХС8 разбраха какъв е проблема и какво пречи да бъде направено във програмирането и девелопинга с пик процесорите, дадоха една опция в командата за компилиране, която помогна да се реши този проблем, без да пречи на правилната работа на пик процесорите в каквито и да са проекти, сорс код и други опции в нормалната работа на девелоперите. :) за това ще поговорим следващата статия.

 

Details
Category: picdevicesinfoandprojecst
Hits: 736

ПИК ПРОЦЕСОРИ, ПРОЕКТИ, ИНФОРМАЦИЯ, НОВИНИ, БИБЛИОТЕКИ, БУУТЛОАДЕРИ и др.

ПИК ПРОЦЕСОРИ, ПРОЕКТИ, ИНФОРМАЦИЯ, НОВИНИ, БИБЛИОТЕКИ, БУУТЛОАДЕРИ и др.

ПРОЦЕСОРИ ОТ МИКРОЧИП, които представляват интерес за развитие на електронни модули. от всички нови модели през последните години тези имат най-много флаш памет, рам и периферийни устройства.

Със старите пик18ф няма да се занимаваме повече. Който има желание може да разгледа линковете и евентуално да си помисли за какво приложение, конкретно негово може да се разработи. Знам, че половината от вас ще си ползват есп32 или стм32 или други като пико, ардуино, но все пак пик процесорите има някой предимства.

И след вчерашният биг фикс на комуникацията мисля, че няма ограничения в приложението. Някои от тези процесори имат даже втора и трета версия подобрена на кристала, но дори и със първата в производството, могат да с направят доста интересни приложения.

Подобренията на кристалите като изчистване на бъгове директно в процесорното ядро продължават, но както знаете това е доста време изискващо и тежък процес. софтуерно, повечето от бъговете имат даден код за справяне с проблемите, но това са за специфични модули и техни настройки, които нас общо взето не ни интересуват .

Позабавлявайте се като разгледате различните пдф инфота на тези процесори, дет са вика открийте разликите и си намислете за какво лесно можете да ги използвате.

СОФТУЕР И БИБЛИОТЕКИ ЩЕ ИМА ДИРЕКТНО В ПРОГРАМАТА ЗА ПИКЪР ПРО !!!! можете да си ги свалите безплатно, след като кача на фтп и гитхъб последната версия на ъплоадера.

Буутлоадер  имам само за К42 серията, скоро ще имам и платка с процесор за тестове за най-големия корпус 57К42 - 48 пина - 44 GPIO. пълно смд и още екстри

PIC18F27K42 - https://www.microchip.com/en-us/product/pic18f27k42
PIC18F47K42 - https://www.microchip.com/en-us/product/pic18f47k42
PIC18F57K42 - https://www.microchip.com/en-us/product/pic18f57k42
PIC18F27Q10 - https://www.microchip.com/en-us/product/pic18f27q10
PIC18F47Q10 - https://www.microchip.com/en-us/product/pic18f47q10
PIC18F27Q43 - https://www.microchip.com/en-us/product/pic18f27q43
PIC18F47Q43 - https://www.microchip.com/en-us/product/pic18f47q43
PIC18F57Q43 - https://www.microchip.com/en-us/product/pic18f57q43
PIC18F27Q83 - https://www.microchip.com/en-us/product/pic18f27q83
PIC18F47Q83 - https://www.microchip.com/en-us/product/pic18f47q83
PIC18F57Q83 - https://www.microchip.com/en-us/product/pic18f57q83
PIC18F27Q84 - https://www.microchip.com/en-us/product/pic18f27q84
PIC18F47Q84 - https://www.microchip.com/en-us/product/pic18f27q84
PIC18F57Q84 - https://www.microchip.com/en-us/product/pic18f27q84
=================================================================================
Details
Category: picdevicesinfoandprojecst
Hits: 579

www.karadev.net

  • qrcode

PROTO BOARDS

  • ПЛАТКА PLC - LAN PICO RP2040
  • ПЛАТКА - PIC18F57K42
  • КОНВЕРТОР - LANPICO - RS485
  • КОНВЕРТОР - USB - RS232
  • КОНВЕРТОР USB - RS232 - RS485
  • NEW PICO RPI 2040 BOARD 2024
  • PICKER PRO DEVELOP PIC18F27K42 BOARD
  • КОНВЕРТОР USB MCP 2200 СЕРИАЛ RS232 TX / RX
  • ПЛАТКА RS485 DRIVERS ONLY

LIBS & SOFTWARE

  • LIST ALL PAGES IN BLOG MODE
  • MCP23S17 AT ANY PIN CONNECTED IN ARDUINO / PICO
  • MCP3008 ADC SPI LIB ARDU CODE IDE

AUTOMATION HOW TO

  • AUTOMATION HOW TO BLOG

BEGINNERS C/C++

  • BEGINNERS C/C++ BLOG VIEW
  • CLANG INSTALL

USED ELEMENTS BASE

  • USED ELEMENTS BASE
  • ПРОЦЕСОРИ = ФАМИЛИЯ 18FxxxK42

FROM AI HOW TO

  • STARTING A SMALL PRODUCT SYSTEM

Main Menu

  • НАЧАЛО
  • С/С++ ПРОГРАМИРАНЕ
  • LORA модули - 433 MHz
  • C# проекти
  • полезни линкове
  • за контакти
  • програматори
  • arduino проекти
  • LINK GITHUB
  • PICKER PRO BOARD
  • PICKER PRO MANAGER
  • PICKER PRO MODULES
  • ARDU BOARD MINI
  • ARDU BOAR DPRO
  • ARDU BOARD PRO MODEL 2
  • STRONG TERMINAL BASIC
  • NEXTION AUTOMATION
  • RASPBERRY PI 3/4/5
  • RS232 / RS485 комуникация
  • PIC MICRO AUTOMATION
  • LAN PICO PI RP2040
  • ЛУНИЧКИ ТОПЛО / НЕУТРАЛНО БЯЛО + ЕКСТРИ
  • PLC IMAGES GALLERY
  • СПИСЪК КАТЕГОРИИ В САЙТА
  • ПИК ПРОЦЕСОРИ & ПРОЕКТИ & ИНФОРМАЦИЯ
  • libs&software

ch340 USB SERIAL RS232 driver

ch340 <> USB <> SERIAL RS232 driver

http://karadev.net/basto/?dir=CH340_USB_SERIAL_2023