Π£ Π½Π°Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ MCU | Π’ΡΡΠΊΠΈ ΠΈ Π»Π°ΠΉΡΡ Π°ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠΊΠ°ΡΠ°ΡΡ Π² ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅, Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ Π½Π° ΡΡΡΠ±. ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΠ· ΡΠΎΡΠΌΡ Π½ΠΈΠΆΠ΅:
ΠΡΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ Π½Π΅
Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈΡΡ
ΠΠΠΠΠΠ’Π ΠΠΠΠ‘Π¬ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ Π²Π½ΠΈΠ·Ρ
ΡΡΡΠ°Π½ΠΈΡΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ° ClipSaver.ru
"ΠΠ»Π°ΡΡ 101" ΠΎ ΡΠΎΠΌ ΠΊΠ°ΠΊΠ°Ρ Π±ΡΠ²Π°Π΅Ρ ΠΏΠ°ΠΌΡΡΡ, ΠΊΠ°ΠΊ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΡΠ°Π·Π½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°Ρ ΠΈ ΠΊΠ°ΠΊ Π½Π΅ ΡΡΠ°ΡΠΈΡΡ Π΅Ρ Π²ΠΏΡΡΡΡΡ. ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅ΠΌ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΡΡΡΡ Π² ΠΠ°ΡΠ²Π°ΡΠ΄ΡΠΊΠΎΠΉ ΠΈ ΠΡΠΈΠ½ΡΡΠΎΠ½ΡΠΊΠΎΠΉ (ΡΠΎΠ½ ΠΠ΅ΠΉΠΌΠ°Π½Π°) Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°Ρ , ΠΊΠ°ΠΊΠΈΠ΅ Π±ΡΠ²Π°ΡΡ ΡΠ΅ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠ΅ΠΊ ΠΈ ΠΊΡΡΠ°, ΠΊΠ°ΠΊ ΠΎΡΠ΅Π½ΠΈΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΡΠΌ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΠ· ΡΠΎΠ»ΠΈΠΊΠ° - https://drive.google.com/drive/folder... Π ΠΎΠ»ΠΈΠΊ Π½Π° Boosty - https://boosty.to/muravyev/posts/0705... ********* Π‘ΠΠΠΠ ΠΠΠΠΠ: 00:00 - ΠΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅ 00:42 - ΠΠ°ΠΌΡΡΡ Π² ΠΠ 03:26 - Π‘Π΅ΠΊΡΠΈΠΈ text, data ΠΈ bss 10:06 - Π‘ΡΠ΅ΠΊ 13:32 - ΠΠ±Π·ΠΎΡ Π²Π²ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ 15:31 - ΠΠ°ΡΠ²Π°ΡΠ΄ΡΠΊΠ°Ρ ΠΈ ΠΡΠΈΠ½ΡΡΠΎΠ½ΡΠΊΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ 19:15 - Π‘Π΅ΠΊΡΠΈΡ progmem Π² ΠΠ°ΡΠ²Π°ΡΠ΄ΡΠΊΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ 20:22 - ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ AVR Ρ ΠΠΠ£ Π±ΠΎΠ»Π΅Π΅ 64ΠΠ 25:17 - Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΠ Π½Π° ΠΠ°ΡΠ²Π°ΡΠ΄ΡΠΊΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ 26:30 - ΠΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅ 26:52 - Π‘Π΅ΠΊΡΠΈΡ noinit 28:11 - ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ EEPROM 29:58 - AVRDUDESS 30:40 - optiboot ΠΈ flash Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ EEPROM 32:26 - ΠΡΡΠ° ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ 34:14 - Π€ΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ 42:10 - ΠΠΊΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ 44:45 - Π¦Π΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ 49:27 - ΠΠΎΡΠ½ΡΠΉ ΡΠΈΠ½Π°Π» Π‘Π‘Π«ΠΠΠ: Π‘Π΅ΠΊΡΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ: text, data, bss, and dec - https://mirzafahad.github.io/2021-05-... Code segment - https://en.wikipedia.org/wiki/Code_se... Data segment - https://en.wikipedia.org/wiki/Data_se... Stack - https://ru.wikipedia.org/wiki/%D0%A1%... Memory management - https://en.wikipedia.org/wiki/Memory_... Manual memory management - https://en.wikipedia.org/wiki/Manual_... CΠ΅ΠΊΡΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ - https://microsin.net/programming/avr/... ΠΠΎΠ΄Π΅Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ - https://ru.wikipedia.org/wiki/%D0%9C%... ΠΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ malloc() - https://microsin.net/programming/avr/... malloc.c - http://svn.savannah.gnu.org/viewvc/av... Memory fragmentation - https://en.wikipedia.org/wiki/Fragmen... ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ: ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠΎΠ½ ΠΠ΅ΠΉΠΌΠ°Π½Π° - https://ru.wikipedia.org/wiki/%D0%90%... Harvard architecture - https://en.wikipedia.org/wiki/Harvard... ΠΠ°ΡΠ²Π°ΡΠ΄ΡΠΊΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° - https://ru.wikipedia.org/wiki/%D0%93%... ARM Cortex-M - https://en.wikipedia.org/wiki/ARM_Cor... Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² ESP32 - https://kotyara12.ru/iot/esp32_memory/ AVR 64K problems - https://github.com/arduino/ArduinoCor... ATtiny microcontroller comparison chart - https://en.wikipedia.org/wiki/ATtiny_... ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: Options That Control Optimization - https://gcc.gnu.org/onlinedocs/gcc-4.... STM32 Cortex-M4 programming manual - https://st.com/resource/en/programmin... ESP system API - https://docs.espressif.com/projects/e... Guide to PROGMEM on ESP8266 and Arduino IDE - https://arduino-esp8266.readthedocs.i... avr-gcc - https://gcc.gnu.org/wiki/avr-gcc AVR instruction set - https://en.wikipedia.org/wiki/Atmel_A... AVR instruction set manual - https://ww1.microchip.com/downloads/e... Arduino Memory Guide - https://docs.arduino.cc/learn/program... PROGMEM - https://docs.arduino.cc/language-refe... Π Π°Π±ΠΎΡΠ° Ρ PROGMEM ΠΏΠ°ΠΌΡΡΡΡ - https://alexgyver.ru/lessons/progmem/ ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ - https://habr.com/ru/articles/443030/ C Functions for Reading and Writing to Flash Memory (AVR) - https://ww1.microchip.com/downloads/e... Optiboot - https://github.com/Optiboot/optiboot ATtiny10Core - https://github.com/technoblogy/attiny... megaTinyCore - https://github.com/SpenceKonde/megaTi... ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ: Avrdudess - https://github.com/ZakKemble/AVRDUDESS (https://blog.zakkemble.net/avrdudess-...) Hexspeak - https://en.wikipedia.org/wiki/Hexspeak ΠΡΠ°ΡΠΈΠΊΠ°: https://freepik.com/free-vector/set-c... https://freepik.com/free-vector/thund... #ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ #Π°ΡΠ΄ΡΠΈΠ½ΠΎ #dmitrymuravyev