• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

JL SoC

beacon

Member
А вы попробуйте. Всего-то надо скопировать в командную строку:
Код:
git clone https://github.com/pvvx/JieLiAC690XSDK.git
cd  JieLiAC690XSDK\apps_soundbox
make
А на диске C всякие C:\JL\*.* можете стереть - они нужны для работы CodeBlocks + кучка хлама в подарок от китайцев. У меня этого каталога нет.
Так-же PATH у меня не резиновый в Windows для всех SoC и MCU, где у каждого свои огрызки MinGW и т.д. Им одного полного MinGW или MSYS всегда и во всех вариантах достаточно.
Clang компилятор сидит в каталоге pi32 и ему ваш \JL\mc\bin не нужен. А для выполнения команд Linux и работы Clang и make нужен MinGW или MSYS...
🤦‍♂️ 🤦‍♂️ 🤦‍♂️

Начихуахуа???🤦‍♂️
А если у меня несколько проектов? А если мне надо обновить тулчейн?🤦‍♂️
А если у меня всё уже стоит (и не только pi32) и все пути прописаны JL-шным инсталлятором? И make просто вызывается из любого места просто командой make?

Вас там реально опыляют чем-то, или облучают? Что за упорное стремление натягивать портки через голову, стоя на лыжах в гамаке?🤦‍♂️🤦‍♂️🤦‍♂️
 

pvvx

Активный участник сообщества
Да, и МinGW нужен не древней версии имеющей ограничения командной строки, приводящие к прелестным неуловимым фичам...
Опылили у вас систему, внедрив древний бажный китай-код. Мучайтесь дальше в этой куче хлама :)
 

beacon

Member
Именно про это и вопрос. Если клоки переключаются раздельно, к примеру
Да мне вот вообще побоку, как там что переключается...🤦‍♂️
Было время, - зашёл, вижу, спрашивают - ответил... так они ещё и недовольны бесплатными ответами, которыми их никто не заставляет пользоваться🤦‍♂️ Да ради бога: не спрашивайте, ковыряйтесь сами.
 

beacon

Member
Да, и МinGW нужен не древней версии имеющей ограничения командной строки, приводящие к прелестным неуловимым фичам...
Опылили у вас систему, внедрив древний бажный китай-код. Мучайтесь дальше в этой куче хлама :)
Ещё раз: ваш глюкавый МinGW с правильными рюшечками и зелёным бантиком, который нужно запускать только в новолуние - не нужен
make из тулчейна собирает нормально, ваши "неуловимые фичи" исключительно кривизна вашего МinGW🤦‍♂️🤦‍♂️🤦‍♂️
 

pvvx

Активный участник сообщества
А если у меня всё уже стоит (и не только pi32) и все пути прописаны JL-шным инсталлятором? И make просто вызывается из любого места просто командой make?
Это ваше сообщение конкретно подтверждает, что вы никогда не работали с makefile. И похоже что кроме одного чипа JL в рамках ремонта-перепайки не видели.
А если у меня несколько проектов? А если мне надо обновить тулчейн?
Обычно, в 50% случаев, при обновлении компилятора на новую версию вам придется обновить и SDK и ваш код и кривенькие батнички от BIOS.
И тогда, когда у вас несколько проектов, то вам для сборки каждого проекта придется переписывать директорию C:\JL\*.* . И не запутаться.
А для моего случая надо будет указать где лежит новый компилятор. Уже описывал - текущая версия пока временная. Правильная - это когда компилятор закачивается непосредственно с источника разработчика и разворачивается, а не с компа BIOS или какого китайца из палатки... А счас такого источника пока нет, но развертка (инсталляция при первом запуске) уже встроена :p
 

pvvx

Активный участник сообщества
make из тулчейна собирает нормально, ваши "неуловимые фичи" исключительно кривизна вашего МinGW🤦‍♂️🤦‍♂️🤦‍♂️
Безусловно, т.к. китайцы вам подсунули "GNU Make 3.80 Copyright (C) 2002 Free Software Foundation, Inc." и cygwin 2006 года :)
Будете плохо себя вести - встрою этот хлам в Arduino, чтобы каждый пионер перепрограммировал эти чипы без всяких ремонтников :)
 

beacon

Member
Безусловно, т.к. китайцы вам подсунули "GNU Make 3.80 Copyright (C) 2002 Free Software Foundation, Inc." и cygwin 2006 года :)
А вы из тех, кто судорожно задрачивает кнопку F5 в браузере ставит софт для только того, чтобы каждые пять минут проверять, не появилась ли новая версия, чтобы тут же её выкачать и поставить? 🤦‍♂️
Будете плохо себя вести - встрою этот хлам в Arduino, чтобы каждый пионер перепрограммировал эти чипы без всяких ремонтников :)
Да хоть в кофеварку🤦‍♂️🤦‍♂️🤦‍♂️
Это ваше сообщение конкретно подтверждает, что вы никогда не работали с makefile. И похоже что кроме одного чипа JL в рамках ремонта-перепайки не видели.
Нет, я понимаю, что вы там опять мухоморов обкушались, и тихо с собственными грёзами разговариваете...🤦‍♂️ Но всё же: а вдруг найдёте в себе силы собраться с мыслями и пояснить, что натолкнуло на столь затейливые🤦‍♂️🤦‍♂️🤦‍♂️ галлюцинации?
Обычно, в 50% случаев, при обновлении компилятора на новую версию вам придется обновить и SDK и ваш код и кривенькие батнички от BIOS.
И тогда, когда у вас несколько проектов, то вам для сборки каждого проекта придется переписывать директорию C:\JL\*.* . И не запутаться.
А для моего случая надо будет указать где лежит новый компилятор. Уже описывал - текущая версия пока временная. Правильная - это когда компилятор закачивается непосредственно с источника разработчика и разворачивается, а не с компа BIOS или какого китайца из палатки... А счас такого источника пока нет, но развертка (инсталляция при первом запуске) уже встроена :p
🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️
Нет, ну если только тем и заниматься, что непрерывно выкачивать и перекачивать версии mingw, собирая "неуловимые фичи" в потный кулачок - то непременно так оно и будет. Наверное🤦‍♂️:LOL:
 

nikolz

Well-known member
Есть ещё какие-то более свежие их утилитки с описаловом на поднебесной мове - кто хочет, переводите, мне лень:
вот от гугла перевод:
1. Список инструментов, связанных с файлами прошивки
То есть для файлов прошивки.fw или.Файл с суффиксом ufw.Существует несколько инструментов, которые можно использовать для редактирования и изменения содержимого.

Процесс создания и использования файла встроенного программного обеспечения показан на рисунке ниже:


1669089203009.png

1.1. Загрузка файла прошивки происходит следующим образом
Когда SDK будет разработан, одновременно будет вызван сценарий постобработки isd_download.exe для создания файла прошивки,
и файл будет загружен на устройство.Однако isd_download.exe сам инструмент не может напрямую загрузить файл прошивки в прототип.
Если сейчас под рукой имеется только один файл прошивки (.fw или.ufw).
Может быть достигнуто с помощью некоторых дополнительных инструментов:
1.1.1. Инструмент обновления прошивки (один для одного инструмента загрузки ПК).
Этот инструмент используется на ранней стадии разработки продукта. после того, как разработчик отправил прототип третьей стороне, прошивку прототипа необходимо обновить.
Например, после того, как разработчик отправляет прототип третьей стороне, прошивку прототипа необходимо обновить из-за других факторов, таких как изменения функций программного обеспечения.
Примечание
То есть загрузите файл fw / ufw непосредственно в прототип
Чтобы облегчить разработчикам подтверждение программы прошивки с третьими сторонами.Этот инструмент предоставляет следующие функции:
  1. Обновите прошивку прототипа
  2. Проверьте прошивку прототипа
  3. Отобразите контрольный код файла прошивки (FW/UFW) в прототипе
  4. Показывает, с помощью какой версии средства программирования была запрограммирована прошивка в прототипе
  5. Упакуйте обновленные файлы прошивки и инструменты
  6. Указанное текстовое сообщение отображается в интерфейсе инструмента. Вышеуказанные функции могутconfig.iniбыть настроены в файле конфигурации на включение или нет.config.iniПуть к файлу относительно exe таковdata/config.ini.
Важно
Поскольку прототип не может быть протестирован в среде обновления ПК, запрещено использовать этот инструмент для массового производства.
Ссылка для скачивания: Инструменты для ПК, связанные с файлом прошивки (нажмите здесь, чтобы перейти на страницу загрузки)
1.2. Список распространенных проблем и решений
скажите, что конкретно имеет смысл перевести.
 

nikolz

Well-known member
всем спасибо,
кроме вылаженного pvvx SDK, скачал ранее выложенное ПО на 250MB.
Полагаю, теперь понятно.
тоже предпочитаю eclipse.
 

nikolz

Well-known member
1. Инструкции по установке среды разработки.
1.1. Среда Windows
Проекты SDK по умолчанию поддерживают разработку с использованием Code::Blocks в системах Windows.

Настройка среды в основном состоит из трех этапов:

  1. Загрузите и установите версию Code::Blocks для Windows (нажмите здесь, чтобы загрузить)
  2. После открытия установленного Code::Blocks закройте Code::Blocks (это позволяет Code::Blocks генерировать некоторую базовую информацию о настройках).
  3. Загрузите и установите последнюю версию Jerry Tool chain для Windows (нажмите здесь, чтобы загрузить)
К настоящему времени вы уже можете открыть проект Code::Blocks для компиляции и разработки. для конкретных методов, пожалуйста, обратитесь к SDK для компиляции и загрузки.

Примечание
При первом использовании Code::Blocks для компиляции может появиться всплывающее окно с предупреждением о безопасности. Решение см. в разделе: когда при компиляции запрашивается предупреждение о безопасности и ссылка, @xxx не может быть найден.объекты.текстовый файл.
Ссылка на другие распространенные проблемы:
Вот несколько подробных инструкций, вы можете пропустить их:

1.1.1. Код установки::Блоки
Code::Blocks можно загрузить с официального сайта или непосредственно с адреса в зеркале веб-сайта Джерри.

1.1.1.1. Загрузите руководство по установке с веб-сайта Jie Li Tools
1.1.1.2. Загрузите и установите программное обеспечение с официального сайта CodeBlocks
  • Сначала откройте url: Code::официальный сайт Blocks.
  • После входа в интерфейс загрузки, показанный на рисунке ниже, выберите последнюю версию codeblocks-20.03-setup.exeзагрузки, дважды щелкните для установки после загрузки и следуйте инструкциям по установке.
  • 1.1.2. Установите набор цепей инструментов Jie Li
    Примечание
    Jie Li Tool chain больше не нужно запрашивать и импортировать файлы лицензий, и пользователи могут использовать их непосредственно после установки.
    В настоящее время компиляция SDK поддерживает только операционные системы Windows и Linux.Соответствующие способы установки заключаются в следующем:

    1.1.2.1. Операционная система Windows.
    • Убедившись, что CodeBlocks установлен на текущем компьютере, вы можете начать установку цепочки инструментов Jie Li. Щелкните ссылку цепочка инструментов Windows (нажмите здесь для загрузки), чтобы загрузить цепочку инструментов
    • После двойного щелчка по загруженному файлу следуйте инструкциям по его установке.
  • 1.1.2.2. Операционная система Linux.
    • В операционной системе Linux поддерживается только компиляция SDK с помощью make.Адрес загрузки цепочки инструментов: цепочка инструментов Linux (нажмите здесь, чтобы загрузить).Распакуйте его в /opt/jieliкаталог, чтобы убедиться /opt/jieli/common/bin/clangв его существовании (обратите внимание на уровень каталога).
    • Поскольку существует ограничение на количество файлов, открытых в Linux, процесс связывания откроет больше файлов, что может привести к сбою связывания.Подтвержденный ulimit -nрезультат достаточно велик (рекомендуется, чтобы он был больше 8096), вы можете ulimit -n 8096установить большее значение.
  • 1.1.3. Обновите цепочку инструментов Jie Li
    Важно
    Обратите внимание, что метод, показанный в этой статье, применим только к обновлению цепочки инструментов, то есть компилятора и компоновщика.
    Другие инструменты, такие как инструменты настройки, настройки, загрузки и т.д., не имеют никакого отношения к содержанию этой страницы.Пусть вас это не смущает.
    Метод обновления других инструментов см. в разделе: Как обновить инструмент
    Существует два способа обновить цепочку инструментов:
    1. Непосредственно повторно загрузите последнюю версию tool chain и установите ее. См. раздел Установка инструментальной цепочки Jie Li.
    2. Используйте функцию проверки и обновления цепочки инструментов для обновления следующими способами:
    • Убедившись, что Jerry's tool chain установлена на текущем компьютере, когда Jerry выпустит новую версию tool chain, вы можете проверить наличие обновлений следующим образом: Щелкните开始菜单, выберите JL toolchainследующий检查更新.
    • Если вы не обновили цепочку инструментов Jie Li до последней версии, появится запрос на приведенное ниже изображение.
    • После нажатия кнопки интерфейса 确定на рисунке выше войдите в интерфейс загрузки, как показано на рисунке.
    • После нажатия на картинку 下载升级包выше начните загрузку установочного пакета новой версии цепочки инструментов. после завершения загрузки файл пакета обновления будет запрошен для успешной загрузки интерфейса.
    • 打开升级包文件После нажатия кнопки начните установку загруженного установочного пакета.
    • После обновления до последней версии检查更新снова будет запрошена следующая информация.


 

nikolz

Well-known member
по этой инструкции можно загрузить последнюю версию компилятора 2.4.7
со следующим редми:
---------------------------
Пожалуйста, ознакомьтесь с приведенными ниже инструкциями по обновлению
Быстрое предупреждение о безопасности при компиляции
Из-за ограниченной длины параметров командной строки в Windows, когда связано больше файлов, ограничение по длине может быть превышено, и ссылка может завершиться ошибкой.Чтобы поддерживать связывание большего количества файлов, некоторые параметры командной строки необходимо записать во временный файл (в настоящее время имя целевого файла в каталоге проекта + objs.текстовый файл, такой как sdk.эльф.объекты.txt), а затем снова свяжите.Операция создания файла вызывает предупреждение.
Начиная с версии компилятора 2.4.1, при компиляции codeblocks может запрашивать что-то похожее на следующее:

Пожалуйста, выберите [РАЗРЕШИТЬ выполнение этой команды для всех скриптов с этого момента] на картинке и нажмите [OK].

Для получения дополнительной документации, пожалуйста, перейдите по ссылке ниже:



Журнал обновлений:
2022-08-15 2.4.7
1. Добавьте инструменты llvm-localized-hidden, llvm-bcrename, llvm-read-version
2. Исправлена ошибка внешнего символа вызова pi32 в разделе-pi32-large-program
3. pi32 поддерживает биты PC шире 25 бит, в то время как objdump поддерживает-address-mask
4. встроенная сборка q32s добавляет ограничения 'w','w'
5. pi32v2 добавляет конфигурацию-mcpu=r5 и связанные с ней библиотеки и конфигурацию кодовых блоков
6. создавать .o Путь к хранилищу и версия не включены в информацию о файле (чтобы избежать возникновения.o Изменения, связанные с обновлениями инструментов)

2021-11-10 2.4.6
1. Новая библиотека pi32v2, pi32, q32s определяет _IEEED_LIBM, удаляя проверку кода в случае исключений libm (уменьшая объем кода функций libm)
2. Удалил лицензию.проверка файла lic (лицензии нет.В случае файлов lic вы также можете использовать компилятор)
3. Обновление новой библиотеки для pi32v2, pi32, q32s.В заголовочном файле h структура _reent*_data удалена;
4. Исправьте выбор инструкций ассемблера q32s для сохранения в sp

2021-08-23 2.4.5
1. Исправлено использование-fdiscrete-bitfield-abi, которое могло генерировать неверный код для упакованных измененных битовых полей.
2. Из компилятора pi32v2, q32s, по умолчанию удалены следующие обязательные элементы предупреждения:
-Ошибка=неявное объявление функции
-Ошибка=переопределенный макрос
-Ошибка=возвращаемый тип
-Ошибка=int-преобразование
(Если вам нужны эти параметры, вам нужно добавить их вручную в проект)
3. Исправлено в pi32, pi32v2, q32s, для больших коммутаторов может быть сгенерирован неправильный код
4. codeblocks добавил конфигурацию компилятора pi32v2-r1-large, pi32v2-r2-large, pi32v2-r3-large
5. Исправлена реализация setjmp/longjmp в pi32, q32s
6. libc для pi32, q32s, pi32v2.a добавлена реализация функции __errno по умолчанию

2021-04-19 2.4.4
1. Добавьте параметр-fdiscrete-bitfield-abi, если он используется, битовые поля будут расположены в новом методе расположения.Новый метод, как правило, позволяет сэкономить место в коде.Примечание: Если какой-то код использует этот параметр, другой код также необходимо перекомпилировать.Например, если этот параметр добавлен в SDK, библиотеку приложений также необходимо снова скомпилировать с этим параметром.

2021-04-06 2.4.3
1. Исправьте и повторно включите оптимизацию в разделе-pi32v2-enable-rep-memop.Для некоторых программ с более упакованными структурами размер скомпилированного кода может быть уменьшен.

2021-03-09 2.4.2
1. Параметр-inline-max-allocated-size по умолчанию изменен на 200000.(2.3.9 Введите этот параметр, значение по умолчанию равно 64, из-за этого небольшого размера некоторые функции не могут быть встроенными.Это может привести к тому, что некоторые функции будут использовать больше стеков.Если поток выделяет недостаточно места в стеке, это может привести к сбою.)
 

nikolz

Well-known member
.2. Используйте make для компиляции
Более новые SDK будут поддерживать компиляцию с помощью make по умолчанию (поддерживаются Windows и Linux).

В корневом каталоге SDK есть файл Makefile.Кроме того, в целях поддержки использования make под Windows.SDK поставляется с дополнительным каталогом инструментов, который содержит необходимые инструменты компиляции.

2.2.1. Используйте make для компиляции под Windows.
Компиляция под Windows состоит из двух этапов.Ниже приведен SDK AC695N в качестве примера для иллюстрации:

  1. Откройте toolsскрипт в каталоге под каталогом SDKmake_prompt.bat.Как показано на рисунке ниже:


Примечание
Если toolsфайл не может быть найден в каталоге, make_prompt.batоткройте файл в корневом каталоге SDKmake_prompt.bat.Если вы еще не нашли его, пожалуйста, обратитесь к разделу: Как преобразовать проект Code::Blocks в проект make / VSCode
  1. Во всплывающем окне командной строки введитеmakeи нажмите enter.


2.2.2. Используйте make для компиляции под Linux.
Компиляция под Linux состоит из следующих четырех этапов:

  1. Сначала нажмите, чтобы загрузить цепочку инструментов под Linux.
  2. Распакуйте инструмент в/opt/jieliкаталог, чтобы убедиться/opt/jieli/common/bin/clangв его существовании (обратите внимание на уровень каталога).
  3. Подтвержденныйulimit -nрезультат достаточно велик (рекомендуется, чтобы8096он был больше).В противном случае ссылка может завершиться неудачно из-за большего количества открытых файлов. Вы можетеulimit -n 8096установить большее значение с помощью.
  4. Введите корневой каталог SDK и введитеmakeдля компиляции
2.2.3. Шаги для проверки ошибок компиляции с помощью Makefile следующие
  1. Проверьте, есть ли пробелы и китайский язык в пути, где находится SDK.
  2. Проверьте путь, по которому находится SDK, не слишком ли глубокий уровень.
  3. Проверьте, совпадает ли папка tools в корневом каталоге SDK с папкой tools в инструменте преобразования (нажмите здесь, чтобы загрузить).Проверьте, нет ли отсутствующих файлов.
  4. Проверьте, может ли быть скомпилирован соответствующий проект Code::Blocks, и подтвердите, есть ли проблема со средой цепочки инструментов.
 

nikolz

Well-known member
2.3. Используйте VSCode для компиляции
Новые SDK будут поддерживать использование VSCode для разработки и компиляции по умолчанию (включая Windows и Linux).

Компиляция в VSCode достигается путем вызоваmakeкоманд.В Linux вам необходимо обратиться к шагам компиляции с помощью make, чтобы сначала настроить его.

2.3.1. Шаги настройки VSCode следующие
Ниже приведен SDK AC695N в качестве примера для иллюстрации:

2.3.1.1. Установите необходимые плагиныTask Explorerи C/C++инструменты
Как показано на рисунке ниже:




2.3.1.2. Используйте VSCode для открытия каталога SDK
Как показано на рисунке ниже:



Примечание
Если [Открыть с помощью кода] не удается найти в контекстном меню, для этого есть несколько возможностей:
  • У вас не установлен VSCode
  • При установке VSCode опция, отображаемая в строке меню, вызываемой правой кнопкой мыши, не отмечена
Вы можете напрямую открыть VSCode, затем выбрать Открытый каталог в строке меню VSCode и выбрать каталог SDK для открытия, как показано на рисунке ниже.:



2.3.1.3. Выберите соответствующую задачу для компиляции.
Как показано на рисунке ниже:



Каталог в .vscodeкаталоге SDK содержитtasks.jsonc_cpp_properties.jsonследующие файлы.Эти две конфигурации требуются для VSCode.Для получения дополнительной информации, пожалуйста, ознакомьтесь с настройками здесь.



2.3.2. Устранение неполадок при компиляции VSCode
  1. Компиляция VSCode достигается путем вызова Makefile, поэтому сначала проверьте, является ли makefile нормальным.Ссылка: Шаги по компиляции с использованием make и проверке ошибок при компиляции с использованием Makefile
  2. Проверьте, нормально ли установлены вышеуказанные плагины.
 

pvvx

Активный участник сообщества
Из-за ограниченной длины параметров командной строки в Windows, когда связано больше файлов, ограничение по длине может быть превышено, и ссылка может завершиться ошибкой.
У них ещё 2015 год не наступил?
До тех времен там было 2 фичи - через каждые вроде 2 килобайта портить байт-символ, а если строки ещё больше - тупо обрезать.
beacon-у и многим и так сгодиться - всё равно собирают имеющийся китайский пример с фиксированным кол-вом файлов, да на "компе" всего одЫн программ - этот JL и PATH мал,
 

pvvx

Активный участник сообщества
винда ругается на безопасность данного пакета
По тому что там есть exe файлы isd_download.exe, bfumake.exe и bt_config_tools_2.1.0.4.exe. А так-же разворачивается pi32.
Я пока не советую запользовать данный проект. Он в процессе обновления (уже обновил у себя на новый SDK и т.д.) и годится только для тестирования общей концепции...
 

pvvx

Активный участник сообщества
И на все китайские файлы от JieLi у меня ругаются все в винде :) Неизвестный производитель, не безопасное ... и т.д. Приходиться тыкать кучу кнопочек :)
 

pvvx

Активный участник сообщества
Ага, но все же как получить 32768?

Вот, скажем, возьму я кварц 22118400 Гц. Что с ним делать?

Я к слову когда-то приемник Luxe Bass расковырял. Тамошняя асишка стабильно выдавала 32,768 КГц, при том что на плате ни одного кварца не было. Совсем не было.
1669122146749.png
 

Alcest

Member
Это я читал еще в прошлом году. Найти бы где в SDK настраивается дробное умножение частоты. Или опять придется все самому через регистры делать?
 

pvvx

Активный участник сообщества
Это я читал еще в прошлом году. Найти бы где в SDK настраивается дробное умножение частоты. Или опять придется все самому через регистры делать?
Это в бинарных либах. Без их разбора и замены в исходный код ничего не выйдет. Таков путь, т.е. JL :)
И куда вам 32K ? Прерывания таймера (на GPIO)?
 
Сверху Снизу