Идея для библиотеки EEPROM (скрытая флэш-рам)

Мадиас
Сб 30 мая 2015 г., 19:37
Как я читал эту тему ViewTopic.PHP?f = 3&t = 110 Я думал о том, как использовать это в качестве дополнительной (смоделированной) памяти EEPROM.
Насколько я знаю, оригинальная библиотека Libmaple eeprom использовала зарезервированную (?) пространство флэш -памяти для эмуляции Arduino eeprom lib.
Итак, моя идея состоит в том, чтобы «Highjack» эту скрытую память для новой библиотеки. Недостатком является то, что для каждого типа MCU должен быть конкретный #IFDEF (64/128K 128/256K 256/512) и небольшой код тестирования для каждого отдельного устройства: написание и чтение некоторой шаблон, разделение вспышки на секторы и Напишите хороший/плохой таблицу проверенных секторов. (Может быть, совсем нет необходимости, поэтому, если дополнительная вспышка доступна, она в любом случае должна работать)
Кстати: кто -то попытался получить доступ к дополнительной памяти о клонах Maple Mini (STM32F103CBT6) или составляет 128 тыс. Физический предел для этого MCU (потому что STM32F103C8T6 является версией «срезана»)? Таким образом, либера.

victor_pv
Сб 30 мая 2015 г., 21:31
Мадиас, я не пытался написать более 128 КБ в чипах CB, но я подтвердил чип RCT, который должен иметь 256 КБ вспышки и 40 оперативной памяти, имеет не менее 512 КБ вспышки и 64 КБ ОЗУ. Я нашел дополнительную оперативную память случайно, потому что я думал, что на самом деле она имела 64 КБ, я использовал файлы RET, которые устанавливали стек на 64 КБ. Затем, позже прочитав спецификации, я понял, что у них должно было быть только 40 кб, но мой стек был на верхнем конце 64 КБ все время, и он никогда не разбился, так что я знаю, что барана была доступна для использования.

Если вы хотите проверить лимит, вы можете легко написать сценарий, который отправляется в написание и чтение адресов по этому пределу, и считывать значения, чтобы подтвердить, что он был успешно написан.
Я подозреваю, что чип CB - это предел для этого кремния, но кто знает, возможно, есть дополнительная вспышка или спрятана ОЗУ...
На доске RCT я никогда не пытался превышать 512 КБ или 64 КБ ОЗУ, но кто знает, вполне возможно, что есть еще больше...

Rogerclark
Сб 30 мая 2015 г., 22:17
Я не думаю, что мы можем поместить что -либо в ядро, которое опирается на скрытые функции, которые могут работать или не работать, но мы можем документировать, как проверить, есть ли у вашей доски гораздо больше оперативной памяти и ПЗУ, чем она должна была .

Я думаю, что серия C называется средней плотностью, (F103RB) также может быть средней плотностью.

Серии F103RC и RE и V и Z -серии - это устройства высокой плотности.

Я подозреваю, что внутри пакета есть два совершенно разных кремниевых ткаковых чипсов.

Таким образом, хотя C8 может быть CB, менее вероятно, что C8 или CB содержит устройство высокой плотности внутри.


В настоящее время у нас нет вариантов для версий F или G.фон. F103RGT, но их было бы легко добавить, чтобы владельцы платы F103RCT могли попробовать Правление в качестве F103RGT

victor_pv
Сб 30 мая 2015 г., 22:56
Мадиас, я только что проверил, что чип RCT не может читать или писать после 512 КБ, со Stlink или серийным загрузчиком. Это предел для этого кремния.
Если у меня будет время позже, я протестирую на Maple Mini позже и сообщу вам.

Кроме того.

Я выложу результаты Maple Mini, когда получаю возможность протестировать.

Роджер, я не думаю, что мы должны ввести в заблуждение кого -либо, установив ядро ​​для использования более высоких пределов, но хорошо знать, существует ли они.
я.Эн. Я использовал сценарий линкера RET с платой RCT и работает нормально, я знаю, что использую опцию, которая не соответствует MCU в моей плате, поэтому решение зависит от того, чтобы я сознательно выбрал MCU, отличный от того, который я должен.

Я думаю, что Мадиас не предполагает, что ядро ​​превышает предел на платах C8, но если доступна дополнительная вспышка, мы можем сделать сознательный выбор, чтобы использовать его, компилируя для CB или даже RC, если это так много доступный.

Ахулл
Сб 30 мая 2015 г., 23:40
victor_pv написал: Кроме того.

victor_pv
Сб 30 мая 2015 г. 11:59 вечера
Ахулл написал:victor_pv написал: Кроме того.

Ахулл
Солнце 31 мая 2015 г. 12:32
И я даже могу прочитать 496 байтов больше, до 0x1ffff9ff, ​​что даже не существует в соответствии с таблицей данных (кстати, они читают FF) Я подозреваю, что искушение экспериментировать с написанием в этой области теперь неотразимо... Однако может быть трудно понять, что, если какое -либо влияние у них есть... :? ...Конечно, есть шанс, что это может быть там, где живут такие вещи, как уникальный идентификатор и ID ЦП.

Вы можете выбрать увеличительное стекло и Взгляните на выстрел ;)

Рик Кимбалл
Солнце 31 мая 2015 г. 12:58 утра
Вы, ребята. Вам не нужно писать программы, чтобы изучить все эти вещи.

Вы можете установить: (gdb) set mem inaccessible-by-default off This allows you to access addresses outside the official chip memory map.

Ахулл
Солнце 31 мая 2015 г. 1:01
Мне придется играть с этим... : D

Rogerclark
Солнце 31 мая 2015 г., 3:05
Ребята,

Я думал, что, несмотря на то, что у нас еще нет отдельного отладчика Eclipse (если вы не на Linux, например, Энди и Рик), тогда, возможно, мы должны добавить меню отладки, по крайней мере, к общим доскам STM32F103C, который начинает GDB в окне оболочки.

На YouTube есть несколько хороших видео от Harvard Uni, которые объясняют, как использовать GDB в командной строке, и я думаю, что определенно будет несколько человек, которые хотели бы попробовать GDB, если бы им не пришлось вручную управлять. Утилит и т. Д


КСТАТИ. Думая о публикации Рика о openocd. (Я постараюсь ответить на эту ветку, когда получу шанс), что, возможно, нам было бы лучше использовать OpenOCD, чем Texane для Stlink. Однако я не смотрел, поддерживает ли OpenOCD загрузку (и стирание и т. Д.) Через Stlink.

В любом случае, просто мысль.

Пса. Извините, у меня не было возможности сделать многое на репо в эти выходные, но домашние мероприятия (забор между мной и соседями) нуждались в моем внимании в течение последних 2 дней ;-(-(

Rogerclark
Солнце 31 мая 2015 г., 3:07
Ахулл написал:И я даже могу прочитать 496 байтов больше, до 0x1ffff9ff, ​​что даже не существует в соответствии с таблицей данных (кстати, они читают FF) Я подозреваю, что искушение экспериментировать с написанием в этой области теперь неотразимо... Однако может быть трудно понять, что, если какое -либо влияние у них есть... :? ...Конечно, есть шанс, что это может быть там, где живут такие вещи, как уникальный идентификатор и ID ЦП.

Вы можете выбрать увеличительное стекло и Взгляните на выстрел ;)

Рик Кимбалл
Солнце 31 мая 2015 г., 17:49
Rogerclark написал:Ребята,
Я думал, что, несмотря на то, что у нас еще нет отдельного отладчика Eclipse (если вы не на Linux, например, Энди и Рик), тогда, возможно, мы должны добавить меню отладки, по крайней мере, к общим доскам STM32F103C, который начинает GDB в окне оболочки.

Рик Кимбалл
Солнце 31 мая 2015 г., 17:51
Не уверен, что если вы нашли это, есть приложение, в котором говорится о выравнивании износа на Flash, когда вы используете его, как eeprom:

http: // www.ул.com/web/en/resource/techn ... 165693.PDF

-рик

victor_pv
Солнце 31 мая 2015 г., 19:25
Рик Кимбалл написал:Rogerclark написал:Ребята,
Я думал, что, несмотря на то, что у нас еще нет отдельного отладчика Eclipse (если вы не на Linux, например, Энди и Рик), тогда, возможно, мы должны добавить меню отладки, по крайней мере, к общим доскам STM32F103C, который начинает GDB в окне оболочки.

Рик Кимбалл
Солнце 31 мая 2015 г., 19:39
Я изменил stlink_upload, чтобы сделать это, но с тех пор я перешел из Stlink к в основном BMP:

У меня есть что -то вроде этого:
# blackmagic probe w/gdb upload tools.bmp_gdb_upload.cmd=arm-none-eabi-gdb tools.bmp_gdb_upload.path={runtime.tools.arm-none-eabi-gcc.path}/bin/ tools.bmp_gdb_upload.upload.speed=115200 tools.bmp_gdb_upload.upload.params.verbose= tools.bmp_gdb_upload.upload.params.quiet=-q --batch-silent tools.bmp_gdb_upload.upload.pattern=xterm -e "{path}{cmd}" -q -cd "{build.path}" -b {upload.speed} {upload.verbose} -ex "set debug remote 0" -ex "set target-async off" -ex "set remotetimeout 60" -ex "set mem inaccessible-by-default off" -ex "set confirm off" -ex "set height 0" -ex "target extended-remote {serial.port}" -ex "monitor swdp_scan" -ex "attach 1" -ex "x/wx 0x8000004" -ex "monitor erase_mass" -ex "echo 0x8000004 expect 0xffffffff after erase\n" -ex "x/wx 0x8000004" -ex "file {build.project_name}.elf" -ex "load" -ex "x/wx 0x08000004" -ex "directory {source_file}" -ex "tbreak setup"

Ахулл
Солнце 31 мая 2015 г., 21:22
Привет, Рик, большинство Nixes определяют термин или цветную переменную, чтобы вы могли использовать некоторые вариации

$ Colorterm -e "ST -util" -t "ST -Link Debugger"

Mrburnette
Пн июня 01, 2015, 2:58 утра
Rogerclark написал:<...>
Пса. Извините, у меня не было возможности сделать многое на репо в эти выходные, но домашние мероприятия (забор между мной и соседями) нуждались в моем внимании в течение последних 2 дней ;-(-(

Rogerclark
Пн июня 01, 2015, 3:27
Заборы делают счастливых соседей. Да. Все счастливы, теперь у нас есть забор высотой 2 м ;-)

IRLIB на STM32?