ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
5 апреля
1509945
Связанные сообщения
Personal
Всем привет! Купил у китайских продаванов несколько модулей NRF24L01+. Планирую сделать устройство на AVR (mega8,mega16,mega328)...2025-04-04
Ребята доброй пятницы всем, АЦП отдает данные 18 бит, 18-ый бит знаковый можно как-то быстро привести его к виду int32_t или над...2025-03-28
А есть чего дешманского ШИМ в аналог (0-10В, 4-20мА)?2025-03-21
PoE.. вот схемульку нашел. Но ведь эти линии на 75Ом нагружены. Так? Как там можно питалово высокое передавать2025-03-19
Интересный способ аналогового вычисления потребляемой мощности, не слышал про такой.2025-03-11
Я в подобных случаях ставлю токозащищенный ключ. Вся схема - два транзистора PNP + PNP (или P-MOSFET + BZX84C15 промеж затвор-ис...2025-03-07
Ребята, а где сейчас кошерно заказывать печатные платы 1-2 экземпляра для опытного образца, раньше делал прототипы JLCPCB ну под...2025-03-04
Вот такое ещё нарыл, весьма полезное, на мой взгляд:2025-03-03
Камент:2025-03-02
полезное. неожиданно для себя нашел программку которая топологию вычислительной машины показывает. можно проверять что пытаются ...2025-03-01
Вопрос по CH32V003.2025-02-28
Налетай-торопись. БУшка, походу. Если из аппаратуры, то флэша не поюзаная должна быть. Бегущие огни будут зачотные.2025-02-20
Ну и заказал еще на Озоне дешевенький, но весьма полезный девайс, имхо... Этакий конструктор с частотным диапазоном 18..1300 Мгц...2025-02-18
Юрий Иванович Конев и сборники "Электронная техника в автоматике". Любой открываем и читаем взахлеб..2025-02-17
Wiki проекта. Ведёт ли кто? Чем пользуетесь? Пора окультуриваться. Вот, задумался. Хотелось бы хранить локально. И чтобы формулы...2025-02-13
Все правильно. В классической теории: K, – пропорциональный коэффициент, Ti - постоянная интегрирования,, Td - и постоянная дифф...2025-02-06
Отсекатели питания. Существуют ли? Задача: источник 5Вольт, выведен наружу из устройства. Юзер его может замкнуть, закоротить. Н...2025-02-04
И да, кому может пригодиться.. Затворный резистор. Часть 1/Часть 22025-02-03
### Модифицированный код на C с ограничениями на выходной сигнал, интегральную часть и мёртвой зоной для ошибки2025-01-28
Ну что же. Купил DHO914 за 87 тыс.2025-01-20
Где в даташитах на тиристоры указывается встроенное сопротивление утечки между управляющим электродом и катодом?2025-01-16
я использую. считаю что пить можно и нужно. что бы печень не пострадала от радости, это нужно делать грамотно. использую самопер...2025-01-08
Смотри чего алишечка накинула. Можно аж в несколько слоев усадить.2024-12-25
Я бы вам рекомендовал обычный резистивный делитель 1:2 или 1:3 или 1:4 так, чтобы при 1В в цепи 120В на входе АЦП было бы 0,5......2024-08-29
[обновлено 17.04.24]купил себе домой rigol mso5074, накатил патч. теперь он mso5354. все работает.2024-04-19
Ещё так можно.2022-08-08
Nikolay_Po (03.04.2025 17:41, просмотров: 213)
Как лучше выделять область флеш в скрипте линкера GCC в контексте МК с зеркалированием памяти программ в ОЗУ? 

Для CH32V203G6U6 у себя пока сделал так, изменив родной скрипт (оставил лишь добавленное или изменённое мной. Новый раздел - EEPROM:


EEPROMSIZE = 4K;
FLASH_BASE = 0x08000000;

MEMORY
{  
	FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 32K - EEPROMSIZE
	EEPROM (r) : ORIGIN = ORIGIN(FLASH) + LENGTH(FLASH) + FLASH_BASE, LENGTH = EEPROMSIZE
	RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 10K
}

SECTIONS
{
	.eeprom :
	{
	} >EEPROM AT>EEPROM
} 


А в исходном коде на Си, так:

#define EmptyHalfWord 0xe339u
#define StdPageSize 4096u
#define FastPageSize 256u

typedef uint16_t FLASHminWrite_t; //Minumum data amount to write to FLASH volatile const FLASHminWrite_t __attribute__ ((section (".eeprom"), aligned (FastPageSize))) FLASHdata[StdPageSize / sizeof (FLASHminWrite_t)] = {EmptyHalfWord};


Всё работает. Имя объекта FLASHdata ссылается на адреса прямого доступа к FLASH, а не к адресам копии ОЗУ. Без создания секции в скрипте линкера, не удавалось написать чисто, без предупреждений компилятора.

Если резервировал память под константу как обычно, она размещалась в копии ОЗУ, а для прямого доступа, приходилось вычислять адрес со смещением. И компилятор ругался - дескать, у тебя нет такой памяти.

Приведённый пример, описывает секцию с прямым доступом к флеш по правильным адресам прямого доступа. Естественно, пришлось "почикать" размер области программ. Секция RAM осталась без изменений.

Есть у кого какие замечания _ПО_СУЩЕСТВУ_?
Если у вас замечания к использованию FLASH с записью/чтением из исполняемого МК кода, то пишите сюда (ссылка):

https://caxapa.ru/1509649.html