Котуинко
Re: Котуинко
Шооо? Опять все не в жилу?
Тебе же срочно надо было работать с 51ыми...
Тебе же срочно надо было работать с 51ыми...
- Реклама
Re: Котуинко
А я как-то "без спешки" - это ж "дальняя перспектива",
а не черезвычайка по полному исчезновению того, что стабильно работает.
Прикидка как и чего может потребоваться при очередном поколении "смены операционки".
Тем более, что особо и спешить-то некуда...
За валерианку до кайла ВЕЛИКИЙ СПАСИБКО!!!

а не черезвычайка по полному исчезновению того, что стабильно работает.
Прикидка как и чего может потребоваться при очередном поколении "смены операционки".
Тем более, что особо и спешить-то некуда...
За валерианку до кайла ВЕЛИКИЙ СПАСИБКО!!!
Re: Котуинко
Первичная проба прикошачить имеющиеся проекты под кейл дала некоторый негатив...
У меня ведь подборка компилятороы с практически единой системой синтаксиса и директив...
А тут сходу всплывают "неприятности".
1. путь в include у "типовых" ограничивается указанием подпапки в пределах текущего проекта
у кейла надо указывать полный путь начиная с буквы дисковода;
2. ПРОТУПИЛ
На сегодня более подходящей по стилю к тому, что я использую можно считать MCU8051IDE, хотя и там есть отличия - несколько иной вариант написания формата данных (вопрос равноценности 0х0000 или 0000h).
Кейл более заточен на применение ассемблера в "смешанных проектах" (ассемблер и Си) - оттого и специфика для "изоляции" и свободы перемещения/компоновки кода с проистекающими особенностями.
Хорошая штука, но при использовании нескольких разнотипных семейств с компиляторами иных производителей все же головняка больше...
Вечная проблема компиляторов от разных фирм.

У меня ведь подборка компилятороы с практически единой системой синтаксиса и директив...
А тут сходу всплывают "неприятности".
1. путь в include у "типовых" ограничивается указанием подпапки в пределах текущего проекта
у кейла надо указывать полный путь начиная с буквы дисковода;
2. ПРОТУПИЛ
На сегодня более подходящей по стилю к тому, что я использую можно считать MCU8051IDE, хотя и там есть отличия - несколько иной вариант написания формата данных (вопрос равноценности 0х0000 или 0000h).
Кейл более заточен на применение ассемблера в "смешанных проектах" (ассемблер и Си) - оттого и специфика для "изоляции" и свободы перемещения/компоновки кода с проистекающими особенностями.
Хорошая штука, но при использовании нескольких разнотипных семейств с компиляторами иных производителей все же головняка больше...
Вечная проблема компиляторов от разных фирм.
Последний раз редактировалось BOB51 Чт ноя 29, 2018 13:28:36, всего редактировалось 2 раза.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Котуинко
не надо:у кейла надо указывать полный путь начиная с буквы дисковода
переводчикWhen the assembler processes an include file, the current path is searched for the file first. If the file is not found, the assembler then searches the default assembler include folder (\KEIL\C51\A51). If the file is still not found, the assembler finally searches the paths specified by the INCDIR directive. The order in which paths are searched is the order in which the paths are specified with the INCDIR directive.
http://www.keil.com/support/man/docs/a5 ... nclude.htmКогда ассемблер обрабатывает включенный файл, текущий путь сначала ищет файл. Если файл не найден, ассемблер затем выполняет поиск по умолчанию ассемблера include folder (\ KEIL \ C51 \ A51). Если файл все еще не найден, ассемблер, наконец, ищет пути, указанные в директиве INCDIR. Порядок поиска путей - это порядок, в котором пути указаны с помощью директивы INCDIR.
почитать:в кейле полностью исключена директива EQU
http://www.keil.com/support/man/docs/a51/a51_st_equ.htm
Re: Котуинко
BOB51, ты ручками что ли прописываешь пути ? Однако ж у тебя весьма серьезные пробелы в разработке.
Что само прописанные, что в опциях проекта - пути все относительные.
К примеру
EQU есть в 51 асме не ври.
Однако его использование обычно бездумное , особенно пЫководами,
Читай лучше справку а не выкладывай свои надумки.
Что само прописанные, что в опциях проекта - пути все относительные.
К примеру
Код: Выделить всё
#include "./Public/CH554.H"Однако его использование обычно бездумное , особенно пЫководами,
Читай лучше справку а не выкладывай свои надумки.
Код: Выделить всё
EQU Assembler Statement
Arguments symbol EQU expression
Description The EQU statement creates a new symbol named symbol with the value of the expression. Symbols created with EQU may not be redefined. The expression may be a register name (A, R0-R7) or a simple relocatable expression with no forward references.
Symbols defined with EQU may be used anywhere in operands, addresses, or expressions. Symbols defined as registers may be used anywhere a register is allowed.
If a symbol defined with EQU is made PUBLIC, the expression must evaluate to a constant. Exported symbols include a name and a value but may not include fix-up methods.
See Also LIT, PUBLIC, SET, USING
Example VAL EQU 45+3 ; Simple definition
PUBLIC VAL ; Public definition
REG1 EQU R1 ; Register symbol definition
VAR EQU PUTCHAR ; Relocatable symbol definition
- Реклама
Re: Котуинко
УПС...
А в справке то два раздела референса...
До нижнего и не докапывал ... подпортивши настроение на первом разделе (а об игре в перемене мест расположения после того и совсем подумать не замыслил) ... ТЬХУ!!!
То я ужжшш совсем в рассторйстве...
Ладныть... будем отлавливать порядковость размещения элементов в записях с EQU...
да матюкать старую бумажну доку.
За относительные пути это вроде предварительного "./"?
В том варианте, чем пользуюсь достаточно просто папку с файлом обозвать без подобного префикса.
Но поскольку и папки и файлы у меня в одной сборке указываю на локальный поиск, а не на поиск по всем каталогам
относительно того примера вот такой вид:

А в справке то два раздела референса...
До нижнего и не докапывал ... подпортивши настроение на первом разделе (а об игре в перемене мест расположения после того и совсем подумать не замыслил) ... ТЬХУ!!!
То я ужжшш совсем в рассторйстве...
Ладныть... будем отлавливать порядковость размещения элементов в записях с EQU...
да матюкать старую бумажну доку.
За относительные пути это вроде предварительного "./"?
В том варианте, чем пользуюсь достаточно просто папку с файлом обозвать без подобного префикса.
Но поскольку и папки и файлы у меня в одной сборке указываю на локальный поиск, а не на поиск по всем каталогам
относительно того примера вот такой вид:
Код: Выделить всё
#include (Public/CH554.H)Re: Котуинко
BOB51 , нормально это делать в опция компилятора, вкладки С51 и A51 - Include path ...
Локальный поиск это именно
Поиск в папках компилятора
означает корневую папку проекта.
Вопрос- эти вещи азы и ни как не кайлозависимые , как ты вообще без эти знаний работаешь?
Тебе надо срочно изучить - основы компиляции и построения структуры проекта...
Справка на кайл весьма обширная - и на сам IDE и на компиляторы и на линкер и т.д. и т.п.
Кстати я тебе ссылку давал на книгу Магда, ты хоть скачал ее?
Локальный поиск это именно
Код: Выделить всё
"./Public/CH554.H"Код: Выделить всё
<stdio.h>Код: Выделить всё
"./"Вопрос- эти вещи азы и ни как не кайлозависимые , как ты вообще без эти знаний работаешь?
Тебе надо срочно изучить - основы компиляции и построения структуры проекта...
Справка на кайл весьма обширная - и на сам IDE и на компиляторы и на линкер и т.д. и т.п.
Кстати я тебе ссылку давал на книгу Магда, ты хоть скачал ее?
Re: Котуинко
О разнице в поиске в зависимости от обрамляющих скобок я знаю.
Но с таким указанием корневой папки как-то встречаться не приходилось и до сих пор не требовалось...
Тем более в "вывернутом" варианте
стандартно ведь
и для прямого указания в текущем проекте таки простая скобка (если не лазить в Include path IDE)
вида - вставить файл dfn_prj.txt из папки librus текущего проекта (prj_folder к примеру и есть корневая папка)
вполне себе работает в кейле.
Ранее там было внутри каталога с размещенным там c51asm.exe
или еще проще, ежли в рамках IDE в мплабе и
у АВРстудио
и во всех ранее применяемых компиляторах такая трактовка отлично работает...

Но с таким указанием корневой папки
Код: Выделить всё
.\Тем более в "вывернутом" варианте
Код: Выделить всё
./Код: Выделить всё
D:\folder\subfolder\fileвида
Код: Выделить всё
$include (.\librus\dfn_prj.txt)вполне себе работает в кейле.
Ранее там было
Код: Выделить всё
$include (prj_folder\librus\dfn_prj.txt)или еще проще, ежли в рамках IDE
Код: Выделить всё
$include <librus\dfn_prj.txt>Код: Выделить всё
$include "librus\dfn_prj.txt"и во всех ранее применяемых компиляторах такая трактовка отлично работает...
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18561
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Котуинко
BOB51, вы же из эпохи MS DOS, как же вы не знаете основы основ?!
.\ - текущая папка
..\ - владеющая текущей папка
и так далее.
например, сейчас мы вот тут: c:\work\prj\asm\my_prj
.\ = c:\work\prj\asm\my_prj
..\ = c:\work\prj\asm
..\..\ = c:\work\prj
..\..\..\ = c:\work
Добавлено after 48 seconds:
слеши в юниксах в одну сторону, в наследниках DOS - в другую. но, по-моему, компиляторы сейчас понимают и так и этак
.\ - текущая папка
..\ - владеющая текущей папка
и так далее.
например, сейчас мы вот тут: c:\work\prj\asm\my_prj
.\ = c:\work\prj\asm\my_prj
..\ = c:\work\prj\asm
..\..\ = c:\work\prj
..\..\..\ = c:\work
Добавлено after 48 seconds:
слеши в юниксах в одну сторону, в наследниках DOS - в другую. но, по-моему, компиляторы сейчас понимают и так и этак
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Котуинко
Да воть.. не довелось до такого докапываться...
Кейл с с51asm в простых вариантах совпадает (за небольшим различием), а вот в сложных... УВЫ.
Как результат - более сложный проект в своей основе придется полностью переписывать.
Да еще и "вылет с ошибкой исполнения программы" на ПК с пентиум III при отсутствии такового на более поздних пеньках.
Положил "к ознакомлению" по мере потребности.

Кейл с с51asm в простых вариантах совпадает (за небольшим различием), а вот в сложных... УВЫ.
Как результат - более сложный проект в своей основе придется полностью переписывать.
Да еще и "вылет с ошибкой исполнения программы" на ПК с пентиум III при отсутствии такового на более поздних пеньках.
Положил "к ознакомлению" по мере потребности.
Re: Котуинко
[uquote="BOB51",url="/forum/viewtopic.php?p=3516274#p3516274"]а вот в сложных... УВЫ.[/uquote]
Что мешало изначально писать правильно?
Я тебе уже говорил - у тебя мешанина и каша а не проекты...
Про модульность и абстракции , не слышал не ...
Что мешало изначально писать правильно?
Я тебе уже говорил - у тебя мешанина и каша а не проекты...
Про модульность и абстракции , не слышал не ...
Re: Котуинко
Возможности у с51asm таки побольше...
А насчет "правильности" - в каждом компиляторе свои правила.
Воть такой случай к примеру:
Есть штук 8 регистров в ОЗУ
это временный буфер, используемый разными подпрограммами.
(это аналогия микрочиповского udata_ovr)
У каждой подпрограммы свои имена для соответствующих ячеек при одном и том же имени секции...
в основной мы его отметим как
А вот далее...
у атмеля имеется директива .define
которая в принципе хотя бы частично данный вопрос решает...
А у Кейла?
Вот и "первый ком" - так что внимательно смотреть надо.
В то же время практика приходит с очередным проектом... вопрос времени.

А насчет "правильности" - в каждом компиляторе свои правила.
Воть такой случай к примеру:
Есть штук 8 регистров в ОЗУ
это временный буфер, используемый разными подпрограммами.
(это аналогия микрочиповского udata_ovr)
У каждой подпрограммы свои имена для соответствующих ячеек при одном и том же имени секции...
в основной мы его отметим как
Код: Выделить всё
tmp dseg
tmp0: ds1
tmp1: ds1
tmp2: ds1
tmp3: ds1
tmp4: ds1
tmp5: ds1
tmp6: ds1
tmp7: ds1у атмеля имеется директива .define
Код: Выделить всё
.define cnt0 tmp0
.define data2 tmp2А у Кейла?
Вот и "первый ком" - так что внимательно смотреть надо.
В то же время практика приходит с очередным проектом... вопрос времени.
Re: Котуинко
#define
http://www.keil.com/support/man/docs/a51/a51_define.htm
И вообще -посмотри как оформляются программы а не бред с авр...
http://infocenter.arm.com/help/index.js ... amples.htm
http://www.keil.com/support/man/docs/a51/a51_define.htm
И вообще -посмотри как оформляются программы а не бред с авр...
http://infocenter.arm.com/help/index.js ... amples.htm
Re: Котуинко
Так я именно слеш и ставил....
в результате получаю "выкидыш":
A51 ASSEMBLER - обнаружена ошибка. Приложение будет
закрыто. Приносим извинения за неудобства.
Подпись ошибки
AppName: a51.exe AppVer: 8.2.3.1 ModName: a51.exe
ModVer: 8.2.3.1 Offset:00007150
Причем "вынос" на любом ПК...
Воть посему и "отложено до выяснения"

в результате получаю "выкидыш":
A51 ASSEMBLER - обнаружена ошибка. Приложение будет
закрыто. Приносим извинения за неудобства.
Подпись ошибки
AppName: a51.exe AppVer: 8.2.3.1 ModName: a51.exe
ModVer: 8.2.3.1 Offset:00007150
Причем "вынос" на любом ПК...
Воть посему и "отложено до выяснения"
Re: Котуинко
У меня даже на Dell Latitude c650 что пень 3й , кайло ни разу не вылетало ...
Re: Котуинко
Воть и я за то... Странно как-то.
Небольшая прожка после легкой "косметики" прекрасно скомпилировалась (там суммарный код порядка 500байт что по атмелю, что по кейлу), а попытался биос котуинки так же "прилизать" и в ответ - "вылет"... При том, что атмель даже вармингов не дает... Правда результат там 1629 байт по атмелю...
А там дабы обойти #define надо довольно значительные переделки соорудить.
Вобщем... бум по мере возможностей дубль - проект "в рамках Кейла" шкарябать...
Интересно таки определить от чего такой "вылет" скукожился...

Небольшая прожка после легкой "косметики" прекрасно скомпилировалась (там суммарный код порядка 500байт что по атмелю, что по кейлу), а попытался биос котуинки так же "прилизать" и в ответ - "вылет"... При том, что атмель даже вармингов не дает... Правда результат там 1629 байт по атмелю...
А там дабы обойти #define надо довольно значительные переделки соорудить.
Вобщем... бум по мере возможностей дубль - проект "в рамках Кейла" шкарябать...
Интересно таки определить от чего такой "вылет" скукожился...
Re: Котуинко
Пора на Си переходить...
Re: Котуинко
Воть исчерпаю запас возможностей, да поближе к адуринье пригляжусь - тогда и попробовать можно будет.
Я ж по мере "подручно-тренировочных задач" в компиляторах копаюсь.
А тех задач все меньше...

Я ж по мере "подручно-тренировочных задач" в компиляторах копаюсь.
А тех задач все меньше...
Re: Котуинко
Появилась новая версия ардуино IDE 1.8.8
...
Попала в лапы WeMos D1 Wi-Fi UNO (ESP8266 ESP-12E)...
http://img.radiokot.ru/files/20529/1kpdh1aayt.JPG
Поставил в адуринью заготовки для тех платок.. а наборчик для ESP уже новый... 2.5.0-beta2...
ох там и полей для настроек к ESPшкам... Ели сообразил чего натыкать... дабы хош простейший тестик запустить...

...
Попала в лапы WeMos D1 Wi-Fi UNO (ESP8266 ESP-12E)...
http://img.radiokot.ru/files/20529/1kpdh1aayt.JPG
Поставил в адуринью заготовки для тех платок.. а наборчик для ESP уже новый... 2.5.0-beta2...
ох там и полей для настроек к ESPшкам... Ели сообразил чего натыкать... дабы хош простейший тестик запустить...
Re: Котуинко
Кстати стоило только покопаться в инете - попался проектик с перестраиваемыми параметрами конфигурации (частота, напружка и прочие)
https://github.com/MCUdude/MiniCore#boa ... stallation
(заменил на ссыль по первоисточнику, жаль на инглиш...
но мой комп чегось иногда на предыдущем варианте в "ступор" входил - может старая ХР тот сайт не переваривает, может еще чего - первоисточник заметно надежнее).
пока поставил на перепроверку также и как ардуино-ISP программатор вот отсюда
-
https://www.arduino.cc/en/Tutorial/ArduinoISP
http://voltom.ru/project/95-podklyuchen ... grammatora
результаты проверок/испытаний будут после проведения таковых.

https://github.com/MCUdude/MiniCore#boa ... stallation
(заменил на ссыль по первоисточнику, жаль на инглиш...
но мой комп чегось иногда на предыдущем варианте в "ступор" входил - может старая ХР тот сайт не переваривает, может еще чего - первоисточник заметно надежнее).
пока поставил на перепроверку также и как ардуино-ISP программатор вот отсюда
-
https://www.arduino.cc/en/Tutorial/ArduinoISP
http://voltom.ru/project/95-podklyuchen ... grammatora
результаты проверок/испытаний будут после проведения таковых.


