Привет, коллеги. Если у вас возникло желание поиграться/расширить(сократить) функционал Espruino - ниже небольшое руководство, как делать собственные сборки под Windows 10 (изначально сборка Espruino оптимизирована под Linux и на Windows весьма не тривиальна). ВНИМАНИЕ! Данное руководство - не официальное от Амперки, а моя частная публикация для заинтересованных лиц. Полученная прошивка будет предназначена для STM32F4Discovery, а не для IskraJS. Полная совместимость не гарантируется. В случае утери работоспособности, будьте готовы залить оригинальную прошивку самостоятельно с использованием программатора или DFU. 1. Ставим Linux. Шутка. Начиная со сборки 14316 в Windows 10 появилась возможность использовать встроенную подсистему Linux, на основе Ubuntu. Для активации этой подсистемы нужно: 1.1 Зайти в параметры обновления системы, выбрать "Дополнительные параметры" и там поставить галочку "Участвовать в Insider Preview". После активации, установите доступные обновления. 1.2 Когда новая сборка установлена (на момент публикации, это 1607, посмотреть текущую можно Start->winver), в поиске найдите "Панель управления" (классическую). Там в "Установка и удаление программ" выберите "Установка компонентов Windows", поставьте галочку на "Подсистема Windows для Linux (бета)". 1.3 После установки компоненты и перезагрузки, нажмите Start и запустите bash. 1.4 Будет задан вопрос о подтверждении установки, имени пользователя и его пароля. По окончанию установки, вы будете находиться в консоле bash. 1.5 Установите необходимое программное обеспечение командой Код (Bash): sudo apt-get install git make gcc-arm-none-eabi 1.6 Зайдите в папку, в которой будет лежать проект Espruino. Код (Bash): cd /mnt/c/Users/вашеИмяВВин/Documents 1.7 Я предпочитаю держать проекты в отдельной папке Projects. Для ее создания вы можете воспользоваться командой: Код (Bash): mkdir Projects , после чего зайти в нее командой: Код (Bash): cd Projects 1.8 Клонируйте ветку Master из репозитария https://github.com/espruino/Espruino.git: Код (Bash): git clone https://github.com/espruino/Espruino.git Обратите внимание, что тут нет изменений от Амперки, а значит пины P0..P13, A0..A6 будут не доступны. Необходимо обращаться по названию портов и их номеров. 1.9 Разумеется создать папку вы можете и просто через проводник, а клонировать - через Git для Windows или какой-нибудь GUI. 2. Для работы с кодом я использую Visual Studio Code, по этому дальнейший рассказ будет об этой IDE. 2.1 Если VSCode у вас не установлен, скачайте его, установите и запустите. 2.2 Выберите в меню Открыть->Папку и укажите созданную при клонировании папку Espruino. 2.3. В VSCode консоль запускается сочетанием клавиш Ctrl+`. Но в нашем случае нужно, чтобы запускалась не консоль Windows (cmd), а bash. Для этого выберите в меню: Файл->Параметры->Параметры рабочей области (параметры Пользователя изменяют общие настройки, Рабочей области - параметры для конкретного проекта). У вас откроются два файла json. Слева файл с текущими настройками, справа - с настройками, которые переинициализируют текущие. Вам необходимо добавить строку, чтобы файл выглядел так: Код (Javascript): // Поместите параметры в этот файл, чтобы перезаписать параметры по умолчанию и пользовательские параметры. { "terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe" } 2.5. Закройте файлы, запустите консоль и убедитесь, что открывается именно bash. 2.6. В файле Makefile нет описания IskraJS, но нам подойдет прошивка от Stm32F4Discovery. 2.8 Запустите сборку прошивки командой: Код (Bash): STM32F4DISCOVERY=1 make 2.9 Получившийся в результате файл espruino_1v86.26_stm32f4discovery.bin вы можете прошить в IskraJS и она будет стабильно работать, а вы сможете экспериментировать с кодом.
а где можно взять с изменениями для IskraJS ? https://github.com/amperka/Espruino/tree/iskrajs здесь?
Изначально, когда я писал первое сообщение, я хотел привести ссылку на бранч IskraJS репозитария Амперки, но при перепроверке зашел на GitHub и увидел, что напротив репозитария нарисован замок амбарный, обыкновенный. Думаю nailxx более подробно сможет рассказать о причинах этого.