Например TDA7294

Форум РадиоКот • Просмотр темы - MPLAB X IDE
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 17:15:16

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 327 ]     ... , , , 12, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Чт сен 01, 2022 20:52:40 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21802
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Есть глобальные переменные которые находятся в файле Global.h
Всё объявлено через #ifndef, чтобы было подключено только 1 раз, чтобы файлы имели доступ к объявленным переменным. Почти в каждом .c файле идёт подключение к файлу Global.h, в компиляторе XC32v2.5 всё работало отлично

Вообще то НЕ ДОЛЖНО было работать.
Какое отношение #ifndef имеет к ПЕРЕМЕННЫМ? Это условие К ДЕФАЙНАМ, а не к переменным.
Я канешна не великий знаток Си, но правила требуют объявления внешних к файлу глобальных переменных через extern. И никаких других способов я не знаю.
А так да, я тоже сделал аналогичный финт на XC8 года два назад (версия вроде бы 2.01), но когда решил повторить это в Кейле для АРМов, то был немедленно послан матом эррором.
ЗЫ. К вопросу о целесообразности заявленного.
Проблема с глобальными переменными лишь говорит о том, что код написан ..... (вставьте сами, чтобы не обижаться).
Глобальных переменных много быть не должно. А остальным не в падлу и extern приклеить. :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Пт сен 02, 2022 13:02:29 
Опытный кот
Аватар пользователя

Карма: 7
Рейтинг сообщений: 82
Зарегистрирован: Сб июн 01, 2013 22:24:21
Сообщений: 751
Откуда: ПФО
Рейтинг сообщения: 0
Deoptim писал(а):
alex_, <xc.h> подключали?

Ага, иначе бы и в версии 2,5 не заработало. С этим косяком я уже разобрался, больше не забываю подключить xc :)))
КРАМ, всё же компиляторы микроси и XC очень отличаются, по началу я даже офигевал от того как он это делает, а именно XC каждый файл .с он обрабатывает отдельно а потом склеивает всё вместе. Микроси же все инклуды подключает в общую кучу получая один файл и его разом компилирует за одно и оптимизирует. За счёт этого не надо каждый раз инклудить <xc.h> в каждом .с файле, и в экстернах смысл пропадает постольку компилятор в итоге видит только один склеенный файл main.c в котором все переменные и все функции проекта.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Пт сен 02, 2022 13:10:11 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21802
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
в экстернах смысл пропадает постольку компилятор в итоге

Не нужно собственную частную целесообразность распространять на стандарт языка.
Не все что удобно будет безопасно. Объявление переменных - это выделение памяти, а определение литералов и собственных типов - это просто инструкции препроцессора. Поэтому в этих РАЗНЫХ процессах действуют РАЗНЫЕ правила.
И если Микрочип решил причесать вольности в компиляторе, то это их право и святая обязанность. Иначе переносимости не добъешься.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Пт сен 02, 2022 14:24:49 
Опытный кот
Аватар пользователя

Карма: 7
Рейтинг сообщений: 82
Зарегистрирован: Сб июн 01, 2013 22:24:21
Сообщений: 751
Откуда: ПФО
Рейтинг сообщения: 0
Я абсолютно не спорю с Микрочипом, я про то, что насколько сильно микроси отклонились от языка, такое чувство (при переносе кода), как будто с китайского на татарский переводишь. Хотя не спорю, микроси удобнее и старт быстрее.
Цитата:
Не все что удобно будет безопасно.
Поэтому и слажу с него, глюки оптимизатора задолбали настолько, что готов все свои проекты перенести на МПЛаб.
А кстати насколько язык c позволяет партировать код из MPLAB в среду CubeIDE, что планируется в ближайшем будущем.


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Пт сен 02, 2022 14:29:47 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21802
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
из MPLAB в среду CubeIDE

Я не пользуюсь средой STM-а. Предпочитаю Keil. В Keil переносится на ура. Но нужно понимать, что переносится только аппаратно независимый код. То есть инициализацию, драйверы и обработчики прерываний нужно писать заново.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Пт сен 02, 2022 15:20:43 
Опытный кот
Аватар пользователя

Карма: 7
Рейтинг сообщений: 82
Зарегистрирован: Сб июн 01, 2013 22:24:21
Сообщений: 751
Откуда: ПФО
Рейтинг сообщения: 0
То есть инициализацию, драйверы и обработчики прерываний нужно писать заново.

Это да, знаем, проходили :)
mikroC for PIC32 -> mikroC for ARM


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Пн сен 26, 2022 14:23:17 
Опытный кот
Аватар пользователя

Карма: 7
Рейтинг сообщений: 82
Зарегистрирован: Сб июн 01, 2013 22:24:21
Сообщений: 751
Откуда: ПФО
Рейтинг сообщения: 0
Ботлоадером никто из гармонии случайно не пользовался? Я проект создал, залил, а где программу взять которая бы взаимодействовала с этим загрузчиком или она где то в самой среде MPLAB'a. Нашёл на просторах интернета пакет с программой PIC32UBL.exe (AN1388_Source_Code_2014_02_14), но это старьё уже не работает :facepalm:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Вт сен 27, 2022 15:47:50 
Опытный кот
Аватар пользователя

Карма: 7
Рейтинг сообщений: 82
Зарегистрирован: Сб июн 01, 2013 22:24:21
Сообщений: 751
Откуда: ПФО
Рейтинг сообщения: 0
Ещё один момент выяснил дойдя до bootloader'a, настройки я храню за пределами основной прошивки, чтобы при перезаписи настроек не потереть прошивку, делал это вот так
Код:
const unsigned char __attribute__((address(0x1D020000))) ConstTST []= {1,2,3,4,5,6,7,8,9,0};

Когда я открыл файл прошивки то несколько приофигел, если я использую одну константу компилятор ещё переваривает, если 2 константы с разными адресами, то тупо делит прошивку и часть ее располагает между этими константами, где по идее ничего лишнего быть не должно :kill:
---
Основная прошивка должна лежать по адресу 0x1D000000-0x1D011000, после деления получаем 0x1D000000-0x1D00ECD0 и 0x1D020000-0x1D022010, константы располагаются по адресам 0x1D020000, 0x1D021000, 0x1D022000, и как раз оказываются в прошивке. А в диапазоне: 0x1D00ECD0 - 0x1D020000 одни FF :facepalm:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Ср сен 28, 2022 00:13:03 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 2
Медали: 1
Получил миской по аватаре (1)
alex_ писал(а):
то тупо делит прошивку и часть ее располагает между этими константами, где по идее ничего лишнего быть не должно
Кто ж такое Вам сказал, что не должно ?
Вы зарезервировали для своих нужд эти адреса ? Скорее всего - нет. А компилятору пофиг, свободно - он забрал :))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Ср сен 28, 2022 08:58:19 
Опытный кот
Аватар пользователя

Карма: 7
Рейтинг сообщений: 82
Зарегистрирован: Сб июн 01, 2013 22:24:21
Сообщений: 751
Откуда: ПФО
Рейтинг сообщения: 0
Спасибо за наводку, поскольку среда для меня новая, ещё не во всём разобрался.
Зарезервировал память строкой: -mreserve=prog@0x1D020000:0x1D023000, но теперь константы туда положить не могу :facepalm:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Ср сен 28, 2022 19:54:01 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Вы если вмешиваетесь в адресацию, то делать это необходимо с помощью скрипта линкера.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Пт окт 28, 2022 14:46:10 
Родился

Зарегистрирован: Пт окт 28, 2022 14:28:02
Сообщений: 6
Рейтинг сообщения: 0
Добрый день!
Подскажите, как передать extern char * _Lidata; из main.c в *.s?

Пробую использовать даташит, поэтому не заморачиваюсь с именами переменных. Проц в макете 877А


#include "main.h"
#include <xc.h>
//==============
unsigned int volt;
float inp_volt;
float akb_volt;
float out_volt;
unsigned char inp;
unsigned char akb;
unsigned char out;
unsigned char log, low_akb;
unsigned char uart;
unsigned char temp;
#define Baud_rate 9600
volatile unsigned char temp2;
extern char * _Lidata;

void barfunc();

void UART_Initialize()
{
TRISC=0X00;




Программа на асм:

#include <xc.inc>

psect barfunc,local,class=CODE,delta=2 ; PIC10/12/16
; psect barfunc,local,class=CODE,reloc=2 ; PIC18

global _ds19 ; extern of bar function goes in the C source file
_ds19:

movwf PORTA

; movf PORTA,w ; here we use a symbol defined via xc.inc


return


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Сб окт 29, 2022 21:16:50 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср дек 01, 2021 15:09:09
Сообщений: 141
Рейтинг сообщения: 0
Добрый день.
Подскажите, при написании программы на ассемблере, используются большие или маленькие буквы? Я повторил пример из самоучителя, там было написано большими буквами, у меня повылазили ошибки при компиляции. Видел, что многие используют маленькие буквы. Размер букв имеет значение в ассемблере или нет?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Сб окт 29, 2022 22:10:19 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21802
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Для написания резервированного синтаксиса ассемблера не имеет. Для остального кода зависит от настроек среды, но по дефолту имеет значение. То есть имена регистров и своих переменных чувствительны к регистру.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Вс окт 30, 2022 20:54:36 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср дек 01, 2021 15:09:09
Сообщений: 141
Рейтинг сообщения: 0
Вопрос немного смешной, но как переключиться на другой проект? Я нажимаю кнопкой мыши по проекту, но у меня просто открывается содержимое этого проекта, и все. А я по прежнему остаюсь на нижнем проекте.


Вложения:
Прин.jpg [207.79 KiB]
Скачиваний: 69
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Вс окт 30, 2022 20:57:54 
Родился

Зарегистрирован: Пт окт 28, 2022 14:28:02
Сообщений: 6
Рейтинг сообщения: 0
Это просто.
Наводите на проект, правой кнопкой - свойства - сделать главным проектом.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Вс окт 30, 2022 21:41:07 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср дек 01, 2021 15:09:09
Сообщений: 141
Рейтинг сообщения: 0
Спасибо, я то уже пол-часа мучаюсь

Добавлено after 1 minute 52 seconds:
Кстати компилятор ХС-8 - он только для языка си?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Вс окт 30, 2022 22:05:39 
Родился

Зарегистрирован: Пт окт 28, 2022 14:28:02
Сообщений: 6
Рейтинг сообщения: 0
Да и для Си 8- бит.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Вс окт 30, 2022 22:32:42 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср дек 01, 2021 15:09:09
Сообщений: 141
Рейтинг сообщения: 0
Да не, для си - это понятно. А ассемблер он поддерживает?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X IDE
СообщениеДобавлено: Пн окт 31, 2022 03:34:20 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21802
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Поддерживает. Только это не MPASM, а PIC-AS. Если вам нужен MPASM, на котором написан код на скрине, то придется поставить MPLABX версии максимум 5.35.
ЗЫ. В догон, для пущего понимания. MPASM всегда являлся самостоятельным продуктом, который к Си-компиляторам не имел никакого отношения и поставлялся СО СРЕДОЙ РАЗРАБОТКИ (MPLAB/MPLABX). Вплоть до MPLABX версии 5.35, после чего он был выпилен из среды и предложено вместо него пользоваться ассемблером Си-компилятора XC8, который называется PIC-AS, который функционирует и в бесплатной версии компилятора. Но синтаксис проекта у PIC-AS несколько иной. В доках на компилятор есть мануал на этот ассемблер. Учите матчасть...


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 327 ]     ... , , , 12, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y