Модуль RTL8710AF. Теперь всё работает, спасибо.Вы бы конкретней писали. Какой модуль?
Модуль RTL8710AF. Теперь всё работает, спасибо.Вы бы конкретней писали. Какой модуль?
Вы бы не спасибо писали, а описали как по вашему должен загружать boot сегменты проекта и какой вообще желательно иметь распределение по выбору загрузки boot-ом. На сегодня есть только вариант от Шарикова и мой, который как вышло короче по коду когда писал, так и оставлен. Ameba имеет только один вариант записи OTA в 0x80000 и никаких описаний как загружаются сегменты одного проекта.Модуль RTL8710AF. Теперь всё работает, спасибо.
Я пока сделал по-простому: при "нуле" (зажатой кнопке) на GC5 грузится образ по адресу 0x80000, это дефолтный образ, он не изменяется. При единице на GC5 (отпущенной кнопке) грузится образ по адресу 0xb000 - это рабочий образ, его может обновлять пользователь через веб. Если там (по 0xb000) что-то нехорошее или нет образа, то тоже грузится дефолтный по 0x80000.Вы бы не спасибо писали, а описали как по вашему должен загружать boot сегменты проекта и какой вообще желательно иметь распределение по выбору загрузки boot-ом.
Это же не обязательно - общий образ для всех приложений. У каждого файла в структуре заголовка на web-диске доступны флаги - там пока используется всего 2 бита (сжат ZIP, есть переменные - требуется "парсить" при выводе). Можно ими распределить открытие файлов по приоритетам. Но диск пока имеет всего до 250 файлов, т.к. ограничено байтом в рабочих структурах (можно заменить, но это надо сделать в нескольких местах...).Веб для всех образов одинаковый, надо просто сделать как-то так, чтобы отображалось в вебе, какой образ (рабочий или дефолтный) загружен, и, может быть, не отображать какие-то странички и т.д. (логику какую-то сделать).
/* ---------------------------------------------------
* Customized Signature (Image Name)
* ---------------------------------------------------*/
#include "section_config.h"
SECTION(".custom.validate.rodata")
const unsigned char cus_sig[32] = "WEB Sample";
В дефолтном образе параметры wifi (да и вообще все параметры) нельзя переписывать потому что за время жизни проекта (годы) в рабочем образе может поменяться формат хранения настроек. Я предусмотрел функцию стирания всей флэши кроме дефолтного образа. Рабочий образ если сохраненных настроек нет применяет дефолтные настройки.Пока образы одинаковые. Далее планирую сделать так, чтобы при нажатии этой кнопки еще и параметры wi-fi сбрасывались на дефолтные.
Так вообще нельзя делать.Веб для всех образов одинаковый,...
Тогда надо четкое описание хвоста, терминатора одного образа и с какой позиции после него идет новый. Или какие-то другие решения как определить где начинается следующий образ и чтобы это было совместимо с Arduino от Ameba и стандартным SDK от нихДелить пополам неразумно
>?
CONSOLE COMMAND SET:
==============================
?: This Help
PR=<1/0>: Printf on/off
REBOOT: <1 - uartburn>
DB=<ADDRES(hex)>[,COUNT(dec)]: Dump byte register
FID: Flash info
MEM: Memory info
DPSLP=[TIME(ms)]: Deep sleep
WAKE=<a,r>,<wakelock_status:0..31>: Power
STA=<SSID>[,password[,encryption[,auto-reconnect[,reconnect pause]]]: WIFI Connect to AP
AP=<SSID>[,password[,encryption[,channel[,hidden[,max connections]]]]]: Start WIFI AP
MODE=[mode]: WIFI Mode: 0 - off, 1 - ST, 2 - AP, 3 - ST+AP, 4 - PROMISC, 5 - P2P
WINFO: WiFi Info
SCAN: Scan networks
==============================
>mem
CLK CPU 125000000 Hz
RAM heap 133248 bytes
CPU total run time is 151713
TaskName DeltaRunTime percentage
loguart 1401 <1%
IDLE 147700 97%
TCP_IP 102 <1%
Tmr Svc 2 <1%
web_qfn 2 <1%
LateResum 0 <1%
cmd_threa 19 <1%
rtw_recv_ 605 <1%
rtw_inter 218 <1%
loguart 260 <1%
rtw_xmit_ 0 <1%
Task List:
=========================================
Name Status Priority HighWaterMark TaskNumber
loguart R 4 367 5
IDLE R 0 479 3
TCP_IP B 9 614 6
Tmr Svc B 5 434 4
web_qfn B 5 975 12
cmd_threa B 6 242 21
loguart B 4 553 1
rtw_inter B 6 206 20
rtw_recv_ B 5 877 18
rtw_xmit_ B 5 219 19
LateResum B 5 217 11
>fid
Flash ID: 0x1c15701c, Size: 2097152 bytes, Status: 0x0
>winfo
WIFI 'wlan1' Setting:
===============================
MODE => AP
SSID => RTL871X
CHANNEL => 1
SECURITY => AES
PASSWORD => 0123456789
IP: 192.168.4.1
Total 0 packets received (0 bytes), dropped 1
Total 0 packets transmitted (0 bytes), dropped 1
RX fifo overflow count 0
Max skb 3 bufers used, buffers 0
Max skb 3 data used, data 0
Max 20 timers used
WIFI 'wlan0' Setting:
===============================
MODE => STATION
SSID => ******
CHANNEL => 1
SECURITY => AES
PASSWORD => ********
IP: 192.168.1.203
Total 6 packets received (1566 bytes), dropped 1
Total 6 packets transmitted (1192 bytes), dropped 1
RX fifo overflow count 0
Max skb 3 bufers used, buffers 0
Max skb 3 data used, data 0
Max 20 timers used
WIFI config:
=================================
Start mode: 0x3
Country code: 151
Network mode: 11
Tx power: 1
Adaptivity: 0
Load flags: 0x7f
Save flags: 0x7f
WIFI AP config:
=================================
SSID: 'RTL871X'
SSID hidden: 0
Password: '0123456789'
Security type: WPA2 AES
Channel: 1
Beacon interval: 100 ms
Max connections: 3
WIFI ST config:
=================================
SSID: '********'
Password: '********'
Security type: WPA2 AES
Auto-reconnect: 5
Reconnect pause: 1
Sleep mode: 0x0
DTIM: 1
Тогда нужно придумать и интерфейс общения для этих .exe. В итоге это можно всё заменить таблицей линковки стандартных процедур и использовать загружаемые исполняемые файлы как это было в DOS Получиться один образ и много exe-шников в web-диске с bat-никами...
BSD ?Тогда нужно придумать и интерфейс общения для этих .exe
Что только не придумают лишь бы не использовать cygwin.MinGW умирает, преобразуясь в неудобный MSYS. Переходим на WSL...
"А нам всёравно". Прогресс не остановить. Долой отстающих!Что только не придумают лишь бы не использовать cygwin.
Нет у нас ваших WSL.
Смотрел esp-idf. Долго на ubuntu 16.04 искал msys, не нашел. Наверно я что-то делаю неправильно только не знаю что потому что esp-idf собирается "из коробки" без правок. Совсем, то есть вообще без правок: make - j flash."
Посмотрите, что творится у ESP-32. Там MSYS2. Он старый, да неудобный. Освоение ESP-IDF из-за него усложнено. В командной строке работать "телепузики" не хотят.
А нет make в Linux и Windows по умолчанию. Вы что-то спуталиСмотрел esp-idf. Долго на ubuntu 16.04 искал msys, не нашел. Наверно я что-то делаю неправильно только не знаю что потому что esp-idf собирается "из коробки" без правок. Совсем, то есть вообще без правок: make - j flash.
hardlink 'и делать.И что делать если нет диска "C" или он забит?
Это вы Ардуинщикам опишитеhardlink 'и делать.
Поставить FAR, который всегда это умел, или плагин к любому другому shell'у, я думаю, даже ардуинщик сможет. Я все громоздкое и не слишком используемое с SSD C перекидываю на обычный D, а на C - hardlink на это.Это вы Ардуинщикам опишите
У меня всё в основном на SSD-PCIE (Rd/Wr >2 GB/сек). Но на скорость сборки это не влияет на Win из-за "кеширования дисковых операций в RAM". Проблема не в хард, а в лишних сущностях, которые обывателю не удержать в голове.Поставить FAR, который всегда это умел, или плагин к любому другому shell'у, я думаю, даже ардуинщик сможет. Я все громоздкое и не слишком используемое с SSD C перекидываю на обычный D, а на C - hardlink на это.
Ну удержать hardlink'и - не трудно, если в принципе знать, что они есть (уже лет 20 как, если не больше) а что до WSL, то это штука новая, не везде доступная. У меня, к примеру, рабочий лэптоп на Win7, и я пока тратить 2-3 недели на переустановку всего, что мне нужно (в том числе и редко) на Win10 не готов, тем более, что эта деятельность ненавистна мне). Лично я предпочитаю нативные виндузовые средства разработки, если и портированные с *nix, то целиком, без костылей. Но бывает, что приходится пользоваться тем, что есть. При этом, я не помню, чтобы скорость сборки проекта была для меня когда-то узким местом.У меня всё в основном на SSD-PCIE (Rd/Wr >2 GB/сек). Но на скорость сборки это не влияет на Win из-за "кеширования дисковых операций в RAM". Проблема не в хард, а в лишних сущностях, которые обывателю не удержать в голове.
Вот какого смыслу в ESP-IDF предлагают на windows ставить примочки, если в базе есть WSL?