|
214 / 10 / 2
Регистрация: 23.05.2016
Сообщений: 413
|
||||||
Кто на ком стоит?09.01.2022, 17:34. Показов 2514. Ответов 55
Метки нет (Все метки)
Здравствуйте.
Вопрос к специалистом с широким опытом, т.е. к людям, которые не просто хорошо знают язык С, а имеют опыт его применения в различных устройствах различных изготовителей. Т.е. речь не о помощи в какой-то конкретной программе, а в понимании особенностей, которые незнакомы обычному низкоквалифицированному пользователю, т.е. мне. Суть вопроса. Есть некое устройство, которое через собственное IDE программируется в С. В этом IDE успешно проходит компиляция, а вот сборщик дает ошибку:
Зато поиск LcdPutString показывает наличие функции void LcdPutCharPos(int lcdPos, char ch) в файлах lcdtimer.c и lcdtimer.h В то же время в ASM files показан файл *romabs.txt, в котором есть _LcdPutString=64024:FCN/VOID Помогите пожалуйста разобраться, кто на ком стоит? © То есть в каком направлении нужно копать чтобы устранить эту ошибку? Заранее спасибо откликнувшимся.
0
|
||||||
| 09.01.2022, 17:34 | |
|
Ответы с готовыми решениями:
55
ком порт для компьютера без ком Кто покупал девайсы на AliExpress - стоит ли? Может подсказать кто-то что стоит приблизительно такой пк |
|
214 / 10 / 2
Регистрация: 23.05.2016
Сообщений: 413
|
||||||
| 10.01.2022, 17:31 [ТС] | ||||||
|
У меня lcc.
Вот как, к примеру, выглядит командная строка компиляции :
0
|
||||||
|
214 / 10 / 2
Регистрация: 23.05.2016
Сообщений: 413
|
|
| 10.01.2022, 17:39 [ТС] | |
|
Обнаружил, что для lcc можно вызвать HELP.
Он на картинке. Что нужно добавить в ключи, чтобы получить препроцессированный текст?
0
|
|
|
|
||
| 10.01.2022, 18:43 | ||
|
В строке из поста #21 нужно добавить опцию -E и удалить опцию "-o Emulation-Debug\sdmp3.o". Выдача польётся на экран, поэтому её лучше перенаправить в файл Только это действие нужно сделать для тех строк, которые использовались для получения vs1010d_romabs.o и в lcdtimer.o
0
|
||
|
214 / 10 / 2
Регистрация: 23.05.2016
Сообщений: 413
|
|
| 10.01.2022, 18:53 [ТС] | |
|
Я не могу удалить опцию "-o Emulation-Debug\sdmp3.o
Я могу к опциям -fsmall-code добавить -e и получить опцию -e-fsmall-code На что получаю ответ: [CODE]lcc -g -hhw_desc -O6 -e-fsmall-code -DDEBUG -Iinclude -IC:\VSIDE\libvs1010 -o Emulation-Debug\sdmp3.o C:\Users\ART\Desktop\lcdmp3\sdmp3.c Unrecognized switch: '-e-fsmall-code' Настройка компилятора одна на весь проект:
0
|
|
|
214 / 10 / 2
Регистрация: 23.05.2016
Сообщений: 413
|
|
| 10.01.2022, 19:27 [ТС] | |
|
Evg, вот заказанный Вами препроцессорный текст файла lcdtimer.c. (пришлось переименовать, а то на две точки в названии файла ругался).
0
|
|
|
Невнимательный
|
|||
| 10.01.2022, 20:00 | |||
|
не спец, и мог неправильно что-то назвать Линкер похоже находит две статически линкуемых функции LcdPutString в объектных файлах или библиотеках. ... Или в двух разных файлах.c есть определения функции с таким именем, или в файле.h который включается в разных .c Или в статических библиотеках это имя уже используется и надо выбрать другое.
0
|
|||
|
214 / 10 / 2
Регистрация: 23.05.2016
Сообщений: 413
|
|
| 10.01.2022, 20:26 [ТС] | |
|
ft4l, выше есть отчет поиска таких проблем.
В файле lcdtimer.h есть объявление функции LcdPutString, а в файле lcdtimer.c её определение. В файле *romabs.txt есть некое значение _LcdPutString. В библиотеке IDE есть некий файл *.h с функцией LcdPutString, но в нём она закоментирована. Это всё. Добавлено через 11 минут А теперь обратите внимание на ошибку. Она ссылается на то, что в файле lcdtimer.o: redefined symbol _LcdPutString. А откуда этот самый символ _LcdPutString в этом файле взялся-то? Функция LcdPutString в этом файле есть, а вот символа _LcdPutString нет. Отсюда и
0
|
|
|
Невнимательный
|
|||
| 10.01.2022, 20:40 | |||
|
Закоментированаа почему непонятно... возможно не предполагается её использовать в коде программ Просто попробуйте поменять в своём коде все строки LcdPutString на MyLcdPutString или типа того
0
|
|||
|
214 / 10 / 2
Регистрация: 23.05.2016
Сообщений: 413
|
|||||||||||
| 10.01.2022, 20:43 [ТС] | |||||||||||
|
Т.к. LCD мне не нужен, я попытался закомментировать в lcdtimer.c его функцию, и в результате получил вот это:
0
|
|||||||||||
| 10.01.2022, 20:46 | |
|
0
|
|
|
214 / 10 / 2
Регистрация: 23.05.2016
Сообщений: 413
|
|
| 10.01.2022, 21:01 [ТС] | |
|
Я переименовывал функцию LcdPutString в LcdPutString2. И в .с и в .h разумеется.
Получал ошибку, которая показаны выше. Вы полагаете, что если я переименую её в MyLcdPutString, то будет другой результат? В библиотеках функция LcdPutString встретилась только в одном файле, да и то она оказалась в нём закоментирована. Или я неправильно Вас понял?
0
|
|
|
Невнимательный
|
|||
| 10.01.2022, 21:07 | |||
|
по первой ссылке http://www.123avr.com/03.htm Вроде пишкт что у ICC другой синтаксис
0
|
|||
|
214 / 10 / 2
Регистрация: 23.05.2016
Сообщений: 413
|
|
| 10.01.2022, 21:20 [ТС] | |
|
Это не AVR. И даже не МК. Это DSP с МК в кишках.
Но язык-то С!
0
|
|
|
|
||||
| 10.01.2022, 21:49 | ||||
|
Добавлено через 37 секунд Ещё обратил внимание, что в #3 в строке линковки файл Emulation-Debug\vs1010d_romabs.o присутствует два раза. Хз, это так задумано (например, первое вхождение - часть опции) или нет
0
|
||||
|
214 / 10 / 2
Регистрация: 23.05.2016
Сообщений: 413
|
||
| 11.01.2022, 06:09 [ТС] | ||
|
Evg, иными словами, запрошенный тобою препроцессорный текст ничего не дал?
![]() Добавлено через 3 минуты По моему очень скромному опыту такие текстовые файлы содержат набор параметров для чипа. В нем же не только МК, а точнее не столько МК. Добавлено через 5 минут Однако, насколько я понял твой пост, причиной ошибки может системный косяк разработчика IDE, при котором полученное функцией после её компиляции значение оказывается одноименным передаваемому в МК параметру. Примерно так? Добавлено через 42 минуты ЗЫ. *romabs.txt обозначен в параметра линкера как Startup module.
0
|
||
|
|
||||
| 11.01.2022, 12:18 | ||||
|
0
|
||||
|
214 / 10 / 2
Регистрация: 23.05.2016
Сообщений: 413
|
|
| 11.01.2022, 12:56 [ТС] | |
|
Без *romabs.txt не начинается компиляция, а за ней соответственно и линковка.
опции линкера - это не читерство.
0
|
|
|
214 / 10 / 2
Регистрация: 23.05.2016
Сообщений: 413
|
|
| 11.01.2022, 12:57 [ТС] | |
|
lcdtimer .o и .a
0
|
|
|
|
|||
| 11.01.2022, 17:38 | |||
|
Добавлено через 10 минут
0
|
|||
|
214 / 10 / 2
Регистрация: 23.05.2016
Сообщений: 413
|
|||||||
| 11.01.2022, 17:45 [ТС] | |||||||
|
Насколько я понимаю, файл *romabs.o изготавливается из файла *romabs.txt.
Если я уберу из пакета файл *romabs.txt, никакой компиляции вообще не происходит, вместо этого я сразу же получаю следующее сообщение:
Добавлено через 4 минуты
0
|
|||||||
| 11.01.2022, 17:45 | |
|
Кто уже юзает Unity 2018.1? Стоит переходить? Знатоки, кто знает!? Какой плагин стоит на сайте? ссылка: кто знает ,помог и т е , пробросить порты с wlan0 - на eth0 ., стоит ubuntu Кто подскажет сколько (хоть примерно)стоит зарегистрировать и открыть свой сайт???
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|