Dmitry Telenkov 9 月之前
父節點
當前提交
1329ca55b2
共有 3 個文件被更改,包括 38 次插入11 次删除
  1. 9 9
      .obsidian/workspace.json
  2. 21 2
      STM32/build.md
  3. 8 0
      todo/Тренировки и занятия.md

+ 9 - 9
.obsidian/workspace.json

@@ -25,7 +25,7 @@
             "state": {
               "type": "markdown",
               "state": {
-                "file": "hardcore web development/Список литературы.md",
+                "file": "STM32/build.md",
                 "mode": "source",
                 "source": false
               }
@@ -110,7 +110,7 @@
             "state": {
               "type": "backlink",
               "state": {
-                "file": "hardcore web development/Список литературы.md",
+                "file": "STM32/build.md",
                 "collapseAll": false,
                 "extraContext": false,
                 "sortOrder": "alphabetical",
@@ -142,23 +142,23 @@
   },
   "left-ribbon": {
     "hiddenItems": {
-      "switcher:Меню быстрого перехода": false,
-      "graph:Граф": false,
-      "canvas:Создать новый холст": false,
-      "command-palette:Открыть палитру команд": false,
-      "markdown-importer:Импорт Markdown-файлов": false
+      "switcher:Open quick switcher": false,
+      "graph:Open graph view": false,
+      "canvas:Create new canvas": false,
+      "command-palette:Open command palette": false,
+      "markdown-importer:Open format converter": false
     }
   },
   "active": "6332c424f14ec4a2",
   "lastOpenFiles": [
+    "todo/Тренировки и занятия.md",
+    "hardcore web development/Список литературы.md",
     "Python/common.md",
     "Python/Архитектура.md",
     "img/python_arch.png",
     "img/python_arch.htm",
-    "hardcore web development/Список литературы.md",
     "hardcore web development/SSH how to.md",
     "ROTEK/universal IO/universal IO.md",
-    "todo/Тренировки и занятия.md",
     "STM32/build.md",
     "c/c common.md",
     "todo/Задачи.md",

+ 21 - 2
STM32/build.md

@@ -45,12 +45,31 @@ $ arm-none-eabi-readelf -h main.o
 
 Получить объектный файл (остановиться перед компоновкой):
 ```bash
-$ arm-none-eabi-gcc -c main.c -o main.o nostdlib -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -std=gnu11 -Wall --specs=nano.specs --specs=nosys.specs
+$ arm-none-eabi-gcc -c main.c -o main.o -nostdlib -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -std=gnu11 -Wall --specs=nano.specs --specs=nosys.specs
 
-$ arm-none-eabi-gcc -c delay.c -o delay.o nostdlib -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -std=gnu11 -Wall --specs=nano.specs --specs=nosys.specs
+$ arm-none-eabi-gcc -c delay.c -o delay.o -nostdlib -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -std=gnu11 -Wall --specs=nano.specs --specs=nosys.specs
 ```
 
 Вывести dump объектного файла:
 ```bash
 $ arm-none-eabi-objdump -h main.o
 ```
+<h6>Секции</h6>
+**.text** - код и константные значения
+**.data** - инициализированные переменные
+**.bss** - неинициализированные переменные
+**.rodata** - данные только для чтения (пример const uint32_t delay_max = 0x0100)
+**.comment** - информация о версии компилятора
+**.ARM.attributes** - служебные сведения (не используются в конечной прошивке)
+
+Посмотреть содержимое секции в объектном файле:
+```bash
+$ arm-none-eabi-objdump -s -j .text main.o
+```
+Вывести таблицу символов из объектного файла:
+```bash
+$ arm-none-eabi-objdump --syms main.o
+```
+<h6>Линкер</h6>
+**Линкер** соединяет секции в нескольких объектных файлах и размещает их в памяти.
+

+ 8 - 0
todo/Тренировки и занятия.md

@@ -49,6 +49,14 @@ renderHabitCalendar(this.container, dv, {
     date: '2024-07-14',
     content: '💪solo\r❌', 
   },
+  {
+    date: '2024-07-16',
+    content: '💪', 
+  },
+  {
+    date: '2024-07-17',
+    content: '🦵💲21000', 
+  },
   ]
 })
 ```