pvvx
Активный участник сообщества
А жигули в 10 раз и более дешевле нормального авто. Чуда не случилось.Ну да, ESP12F в 2 раза дешевле BW12, а BW12 в 2 раза дешевле BW16. Таак что чуда пока не случилось
А жигули в 10 раз и более дешевле нормального авто. Чуда не случилось.Ну да, ESP12F в 2 раза дешевле BW12, а BW12 в 2 раза дешевле BW16. Таак что чуда пока не случилось
Выбор авто зависит не только от цены, а ее соотношения с доходом ,А жигули в 10 раз и более дешевле нормального авто. Чуда не случилось.
И питаться можно какими кормовыми плодами или ещё какой синтетикой и отходами. Жизнь же ваша и вы её сами тратите на уход за жигулями (ESP8266), а не используете по назначению.Уберите желание выпендриваться перед окружающими и жить не по средствам,
оставьте лишь значимые цели,
и тогда жигули тоже станет нормальным.
Ну да, у меня SMART и Ока - использование разноеА жигули в 10 раз и более дешевле нормального авто. Чуда не случилось.
Вот уже про Оку начали писать (в прошлой жизни и у меня была Ока) А как запускать по кнопке на BW-12 разные прошивки, так никто и не намекнул.Ну да, у меня SMART и Ока - использование разное
Обыкновенно - по if в стартовом коде. Какие там могут быть сложности? Это не ESP8266 и кэш изначально включена на всю область flash.А как запускать по кнопке на BW-12 разные прошивки, так никто и не намекнул.
Намекаю: Надо припаять кнопку и нажимать на нее по азбуке Морзе.Вот уже про Оку начали писать (в прошлой жизни и у меня была Ока) А как запускать по кнопке на BW-12 разные прошивки, так никто и не намекнул.
Про STM32 информацию-то можно найти:"Как запускать по кнопке на STM32 разные прошивки?"
void GoToUserApp(void)
{
u32 appJumpAddress;
void (*GoToApp)(void);
appJumpAddress = *((volatile u32*)(FLASH_DISK_START_ADDRESS + 4));
GoToApp = (void (*)(void))appJumpAddress;
SCB->VTOR = FLASH_DISK_START_ADDRESS;
__set_MSP(*((volatile u32*) FLASH_DISK_START_ADDRESS)); //stack pointer (to RAM) for USER app in this address
GoToApp();
}
И что это? А где развертка данных в сегменты RAM?Про STM32 информацию-то можно найти:
Если "смотрю startup.c ", то адреса в табличке:В вашей SDK смотрю startup.c - не могу понять, как оно работает. (Может, я вообще не то смотрю?) Где адрес-то написан, с которого начинать выполнение?
IMAGE2_ENTRY_SECTION
RAM_START_FUNCTION gImage2EntryFun0 = {
BOOT_Image2,
SOCPS_WakeFromPG
};
Я так понимаю, что это запуск программы с адреса FLASH_DISK_START_ADDRESS.И что это? А где развертка данных в сегменты RAM?
Вас не понять. Нет такого FLASH_DISK_START_ADDRESS ни в sdk40b, ни в sdk40b_web.Я так понимаю, что это запуск программы с адреса FLASH_DISK_START_ADDRESS.
Похоже, что так. Тут никто не в силах объяснить вам как происходит старт в обычных MCU - это надо писать целую книгу, хотя разновидностей как они грузятся с flash или как выбирают загрузчик не так и много.Вопросы остаются открытыми - как запустить программу с определенного адреса? Где этот адрес указывается в коде загрузчика? Как вообще узнать, что компилируется в загрузчик (какие исходные файлы)?
Для начала можно читать учебники, а не заниматься ползучим эмпиризмом.Вас не понять. Нет такого FLASH_DISK_START_ADDRESS ни в sdk40b, ни в sdk40b_web.
Похоже, что так. Тут никто не в силах объяснить вам как происходит старт в обычных MCU - это надо писать целую книгу, хотя разновидностей как они грузятся с flash или как выбирают загрузчик не так и много.
Бывает что стартует какая-то ROM процедура (если в чипе она есть) и считывает адреса перехода из flash или сама flash подставляется в определенные адреса CPU по его старту в зависимости от установок pin-ов...
Т.к. используется СИ или C++, то задаются соответствия физических виртуальным адреса в блоки управления, включается всякое кэширование, из заданной области flash копируются данные сегментов СИ/С++ в RAM, очищается стек и прочие сегменты, обычно в startup.s ... и только потом запускается типа main()...
В процессорах с вариантами sleep, если память сохраняется используют ускоренную загрузку - по старту скипают распаковку некоторых сегментов данных в RAM и сразу стартуют не в main(), а в специальную процедуру "восстановления после сна"...
И т.д. - читайте литературу по данному поводу. Такие дела не изучают по форумным сообщениям.
Я бы вот с радостью, но ног мало вывели! РТЛ крут многочисленной переферией, которую можно использовать одновременно. В одном проекте у меня например одновременно 3 uart, spi, и второй spi в качестве генератора импульсов, это не считая пинов для выбора загрузки и всяких моргалок. Почему не сделали хотя бы аналогично rtl00, не понятно. Лень стало с платой возиться, видимо. Жду не появятся ли другие модули, но из дешевых врятли.Почему не хотите сразу перейти к BW-16 - AmebaD ?
Кстати в сдк 7.1 вроде как предусмотрена возможность сборки для Ameba0(и вообще для всех амеба). Никто не пробовал?SDK и Arduino рабочие
Потому, что чипы RTL872xDx в разных корпусах. Есть много ног, есть мало...Я бы вот с радостью, но ног мало вывели! РТЛ крут многочисленной переферией, которую можно использовать одновременно. В одном проекте у меня например одновременно 3 uart, spi, и второй spi в качестве генератора импульсов, это не считая пинов для выбора загрузки и всяких моргалок. Почему не сделали хотя бы аналогично rtl00, не понятно. Лень стало с платой возиться, видимо. Жду не появятся ли другие модули, но из дешевых врятли.
А кварц + питание + антенна?Ну не 16 же ног в самом маленьком
Вы на BW-12 уже что-нибудь сделали?Вот уже про Оку начали писать (в прошлой жизни и у меня была Ока) А как запускать по кнопке на BW-12 разные прошивки, так никто и не намекнул.