Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Микроконтроллеры других производителей

Микроконтроллеры других производителей Все, что касается микроконтроллеров и НЕ подошло в раздел Microchip.

Ответ
 
Опции темы Опции просмотра
Старый 21.04.2017, 14:25   #26
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Возраст: 38
Сообщений: 4,422
Вес репутации: 4370/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: STM32F7 Bootloader

Цитата:
Сообщение от dosikus Посмотреть сообщение
Неожиданно и похоже в тему-
http://forum.easyelectronics.ru/view...497390#p497390
Цитата:
Сообщение от DimaS Посмотреть сообщение
Я попробую на след. неделе Ваш вариант.
Но в моем варианте никакого "РОР" небыло:...
Пробуй, пробуй! А ничего, что решение из темы "Bootloader на Cortex M0", а STM32F7 - это Cortex M7?
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 21.04.2017, 15:21   #27
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 44
Сообщений: 1,369
Вес репутации: 1992/67
DimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant future
По умолчанию Re: STM32F7 Bootloader

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Пробуй, пробуй! А ничего, что решение из темы "Bootloader на Cortex M0", а STM32F7 - это Cortex M7?

А ничего, что у меня вообще STM32L1 - который Cortex M3?
DimaS на форуме   Ответить с цитированием
Старый 21.04.2017, 15:28   #28
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Возраст: 38
Сообщений: 4,422
Вес репутации: 4370/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: STM32F7 Bootloader

Цитата:
Сообщение от DimaS Посмотреть сообщение
А ничего, что у меня вообще STM32L1 - который Cortex M3?
А в первом сообщении:
Цитата:
Сообщение от DimaS Посмотреть сообщение
Понадобилось портировать несколько проектов, с F1 и F4 на F7, каждый проект состояит из бутлоадера (в начале памяти) и аппликации (выше).
C F7 только недавно начал разбираться, поэтому заранее прошу прощения за может детские вопросы.
Как всё резко изменилось. Соскользнуло.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 21.04.2017, 17:28   #29
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 44
Сообщений: 1,369
Вес репутации: 1992/67
DimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant future
По умолчанию Re: STM32F7 Bootloader

Цитата:
Сообщение от Pridnya Посмотреть сообщение
А в первом сообщении:

Как всё резко изменилось. Соскользнуло.
Может, стоить внимательнее читать что пишут?
Ты разберись, где я форвардил сообщение от своего знакомого с Электроникса, и когда я начал писать про собственные эксперименты.
DimaS на форуме   Ответить с цитированием
Старый 21.04.2017, 18:14   #30
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 45
Сообщений: 3,574
Вес репутации: 5590/128
dosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond repute
По умолчанию Re: STM32F7 Bootloader

Dimas, а основной программе прерывания разрешаем?
Что-то я в каловском куске этого не наблюдаю...
dosikus вне форума   Ответить с цитированием
Старый 21.04.2017, 18:22   #31
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 45
Сообщений: 3,574
Вес репутации: 5590/128
dosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond repute
По умолчанию Re: STM32F7 Bootloader

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Как всё резко изменилось. Соскользнуло.
Дима, остынь...
dosikus вне форума   Ответить с цитированием
Старый 21.04.2017, 18:27   #32
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 44
Сообщений: 1,369
Вес репутации: 1992/67
DimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant future
По умолчанию Re: STM32F7 Bootloader

Цитата:
Сообщение от dosikus Посмотреть сообщение
Dimas, а основной программе прерывания разрешаем?
Что-то я в каловском куске этого не наблюдаю...
Это вопрос о начале темы (где проект Алекса на Ф7), или уже про мой, на Л1?
Если про мой - то я вроде не показывал код основной программы, а только "прыжок" бутлоадера.
Но да, у меня в основной программе есь прерывания от SysTick, от 3-х ножек (внешние сигналы), от окончания передачи двух SPI по DMA.
В бутлоадере пробовалось без прерываний вообще, и при включенном прерывании от SysTick.
Так что. я по прежнему не понимаю, почему наличие строчки
__disable_irq()
приводит к неработоспособности и когда было включено прерывание, и когда небыло.
Попробую еще, когда буду на работе, что будет с _setPRIMASK(1).

P.S. Можно конечно сделать "прыжок" через сброс, с флагом в ЕЕПРОМ или бекап-регистре, и тогда плевать что с прерываниями в бутлоадере. Но это уже в крайнем случае.

Последний раз редактировалось DimaS; 21.04.2017 в 18:41.
DimaS на форуме   Ответить с цитированием
Старый 21.04.2017, 18:36   #33
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 45
Сообщений: 3,574
Вес репутации: 5590/128
dosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond repute
По умолчанию Re: STM32F7 Bootloader

Издеваешься, да?

Речь о том что в бутлоадера до прыжка надо выключить прерывания а в основной программе вновь включать их.
To ecть. - disable_irq а потом enable_irq ...
dosikus вне форума   Ответить с цитированием
Старый 21.04.2017, 18:40   #34
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 44
Сообщений: 1,369
Вес репутации: 1992/67
DimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant future
По умолчанию Re: STM32F7 Bootloader

В основной они разумеется включаются.
Основная программа может быть скомпилированя с нуля, (т.е. для работы без бутлоадера) или со смещением. Прерывания включаются - в инициализации.
Погоди, ты хочешь сказать, что этого недостаточно, если была выполнена команда disable_irq?!
И надо принудительно включить через enable_irq?

______________
И все-же - в чем-то же должна быть разница, между _disable_irq, и set_PRMASK(1), что первое компилируется в:
CPSID i

а второе, в :
MOVS R0,#1
MSR PRIMASK, R0
DimaS на форуме   Ответить с цитированием
Старый 21.04.2017, 18:46   #35
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 45
Сообщений: 3,574
Вес репутации: 5590/128
dosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond repute
По умолчанию Re: STM32F7 Bootloader

Где и чем оно разрешается?
Кусок кода в студию.

А отличия я выше приводил одно напрямую устанавливает Primask , другое копирует значение из регистра в Primask.
dosikus вне форума   Ответить с цитированием
Старый 21.04.2017, 19:02   #36
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 44
Сообщений: 1,369
Вес репутации: 1992/67
DimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant future
По умолчанию Re: STM32F7 Bootloader

Секунду, я кажется понял в чем проблема - у PRIMASK reset_value=0, что сооот.в РАЗРЕШЕННЫМ прерываниям, а в инициализации только разрешаются конкретные прерывания в NVIC, не трогая этого PRIMASK.
Когда в основной программе все инициализируется - то инициализируются толко конкретрный прерывания NVIC, а глобально - PRIMASK не трогается.
Значит, надо в основной программе поставить enable_irq и все заработает!
Теперь все ясно.
DimaS на форуме   Ответить с цитированием
Старый 21.04.2017, 19:15   #37
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 45
Сообщений: 3,574
Вес репутации: 5590/128
dosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond repute
По умолчанию Re: STM32F7 Bootloader

Ну дык сказано же кал -дермище. Изучай RM .
И еще раз в периферии разрешаются реквесты прерываний , сами прерывания разрешаются в NVIC.
Ты и делал разрешение прерываний пихая в Primask 0, только делал это не там где надо.
dosikus вне форума   Ответить с цитированием
Старый 21.04.2017, 19:22   #38
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 44
Сообщений: 1,369
Вес репутации: 1992/67
DimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant future
По умолчанию Re: STM32F7 Bootloader

Цитата:
Сообщение от dosikus Посмотреть сообщение
Ну дык сказано же кал -дермище. Изучай RM .
Причем тут кал вообще? Программа на CMSIS.

Цитата:
И еще раз в периферии разрешаются реквесты прерываний , сами прерывания разрешаются в NVIC.
Ты и делал разрешение прерываний пихая в Primask 0, только делал это не там где надо.
Это я уже понял, просто, в большинстве процессоров, с которыми я имел дело раньше, при старте глобально прерывания ЗАПРЕЩЕНЫ!
В тех-же PIC'ах - GIE=0 по ресету!
А в Кортексах - РАЗРЕШЕНЫ!
RM (FM я читал конечно, просто упустил этот ньюанс.
DimaS на форуме   Ответить с цитированием
Старый 21.04.2017, 19:25   #39
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 45
Сообщений: 3,574
Вес репутации: 5590/128
dosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond repute
По умолчанию Re: STM32F7 Bootloader

Цитата:
Сообщение от DimaS Посмотреть сообщение
Причем тут кал вообще? Программа на CMSIS.

При том , ты изучаешь не железо а калокуб и вот он результат.
dosikus вне форума   Ответить с цитированием
Старый 21.04.2017, 19:32   #40
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 44
Сообщений: 1,369
Вес репутации: 1992/67
DimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant future
По умолчанию Re: STM32F7 Bootloader

Еще раз - при чем тут "калокуб"?
Я его (Cube а не HAL), как и раньше MicroExplorer, использую чтобы периферию по ножкам расставлять, вручную это гораздо медленнее, а не чтобы код генерить.
DimaS на форуме   Ответить с цитированием
Старый 21.04.2017, 20:28   #41
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 45
Сообщений: 3,574
Вес репутации: 5590/128
dosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond repute
По умолчанию Re: STM32F7 Bootloader

Ну раз уверовал, извини -ничем помочь не смогу.
dosikus вне форума   Ответить с цитированием
Старый 21.04.2017, 22:50   #42
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 44
Сообщений: 1,369
Вес репутации: 1992/67
DimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant future
По умолчанию Re: STM32F7 Bootloader

Во что?
DimaS на форуме   Ответить с цитированием
Старый 22.04.2017, 09:42   #43
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 45
Сообщений: 3,574
Вес репутации: 5590/128
dosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond repute
По умолчанию Re: STM32F7 Bootloader

Пофиг, ты лучше отпишись - заработало ли?
dosikus вне форума   Ответить с цитированием
Старый 22.04.2017, 13:15   #44
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 44
Сообщений: 1,369
Вес репутации: 1992/67
DimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant futureDimaS has a brilliant future
По умолчанию Re: STM32F7 Bootloader

Цитата:
Сообщение от dosikus Посмотреть сообщение
Пофиг,
Мне - не пофиг.


Цитата:
ты лучше отпишись - заработало ли?
Приду на работу, проверю. Но думаю, что заработает, т.к. причина и методы борьбы с ней понятны
DimaS на форуме   Ответить с цитированием
Старый 12.06.2017, 11:24   #45
ctef
Senior Member
 
Регистрация: 22.08.2008
Сообщений: 117
Вес репутации: 100/36
ctef will become famous soon enoughctef will become famous soon enough
По умолчанию Re: STM32F7 Bootloader

Извиняюсь что вклиниваюсь в тему.
Есть два проекта один загрузчик, другой основная программа.
Предварительно программирую загрузчик , а потом с помощью него прошиваю основную программу. Подскажите как можно объединить эти проекты в один hex, чтобы зашивать программатором один раз?
Объявить загрузчик как массив данных в файле основной программы?
ctef вне форума   Ответить с цитированием
Старый 12.06.2017, 13:36   #46
siarzhuk
Senior Member
 
Аватар для siarzhuk
 
Регистрация: 08.11.2014
Возраст: 47
Сообщений: 108
Вес репутации: 763/19
siarzhuk is a splendid one to beholdsiarzhuk is a splendid one to beholdsiarzhuk is a splendid one to beholdsiarzhuk is a splendid one to beholdsiarzhuk is a splendid one to beholdsiarzhuk is a splendid one to beholdsiarzhuk is a splendid one to behold
По умолчанию Re: STM32F7 Bootloader

Цитата:
Сообщение от ctef Посмотреть сообщение
Подскажите как можно объединить эти проекты в один hex, чтобы зашивать программатором один раз?
Если речь о работе под Windows, то мы подобные подсобные работы автоматизируем на JScript WSH. Достаточно вставить вызов wsf-файла в пост-билд событие вашей IDE с указанием имён сливаемых файлов и файла результата и полный HEX будет создаваться про каждой компиляции. Если имена известны и жёстко заданы - можно просто раскомментировать функции _InjectBootLoader в одноименном .js файле и запускать так:
Код:
cscript _InjectBootLoader.js
В противном случае, если нужно передавать параметры из IDE используйте вызов задачи с помощью .wsf пакета:
Код:
cscript //NoLogo ./_BearHelpers.wsf //Job:InjectBootLoader  /srcHEXPathMask:"./Release/src.hex" /bootHEXPathMask:"./SecBootLoader/Release/boot.hex" /dstHEXPathMask:".Release/dst.hex"
Если на компьютере установлена VStudio или ещё какой скриптовый отладчик, то добавив к вызову параметр //X можно будет достаточно комфортно отлаживать исполнение скрипта.
Вложения
Тип файла: zip InjectBootLoader.zip (2.1 Кб, 1 просмотров)
siarzhuk вне форума   Ответить с цитированием
Старый 12.06.2017, 14:06   #47
ctef
Senior Member
 
Регистрация: 22.08.2008
Сообщений: 117
Вес репутации: 100/36
ctef will become famous soon enoughctef will become famous soon enough
По умолчанию Re: STM32F7 Bootloader

Используется Windows, среда IAR, можно более подробнее?
ctef вне форума   Ответить с цитированием
Старый 12.06.2017, 14:58   #48
siarzhuk
Senior Member
 
Аватар для siarzhuk
 
Регистрация: 08.11.2014
Возраст: 47
Сообщений: 108
Вес репутации: 763/19
siarzhuk is a splendid one to beholdsiarzhuk is a splendid one to beholdsiarzhuk is a splendid one to beholdsiarzhuk is a splendid one to beholdsiarzhuk is a splendid one to beholdsiarzhuk is a splendid one to beholdsiarzhuk is a splendid one to behold
По умолчанию Re: STM32F7 Bootloader

Цитата:
Сообщение от ctef Посмотреть сообщение
Используется Windows, среда IAR, можно более подробнее?
Первая ссылка https://www.iar.com/support/tech-not...nd-post-build/ вместо .bat-ников творчески применить .wsf. ;-)
siarzhuk вне форума   Ответить с цитированием
Старый 13.06.2017, 10:24   #49
2AplusA
Senior Member
 
Аватар для 2AplusA
 
Регистрация: 26.02.2007
Адрес: Penza
Возраст: 36
Сообщений: 1,385
Вес репутации: 1267/64
2AplusA has much to be proud of2AplusA has much to be proud of2AplusA has much to be proud of2AplusA has much to be proud of2AplusA has much to be proud of2AplusA has much to be proud of2AplusA has much to be proud of2AplusA has much to be proud of2AplusA has much to be proud of
По умолчанию Re: STM32F7 Bootloader

Цитата:
Сообщение от DimaS Посмотреть сообщение
А __disable_irq(); для этого недостаточно?
Там кроме Systick ничего нет.

А исходные и были без Куба, когда он их писал, Куба еще и в проекте небыло.
Самое смешное, что disable_irq() прерывание от SysTick не запрещает. Сам буквально неделю назад на это напоролся. Нужно FIQ запрещать еще, а лучше sysTick просто остановить.
__________________
Лучше день потерять, потом за час долететь!
2AplusA вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
USB HID BOOTLOADER PIC24FJ128GB106 Brainiac Продукция MICROCHIP 8 19.04.2016 09:00
HID Bootloader для PIC24F256DA210 abarmail Продукция MICROCHIP 11 14.01.2014 10:41
К готовому проекту "присоединить" bootloader vladtv Продукция MICROCHIP 2 19.02.2011 16:12
Microchip USB HID Bootloader v2.6a, зависание. Specialist Продукция MICROCHIP 23 18.10.2010 20:11
Помогите написать самому Bootloader на С! phase Продукция MICROCHIP 2 28.04.2009 12:11


Часовой пояс GMT +3, время: 00:58.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot