Arduino DUE + Atmel Studio 7

releyshic
Offline
Зарегистрирован: 20.11.2015

ЕвгенийП пишет:

отпадут сами собой. Кстати, ответ, - если маленькие, то нигде не хранятся, вставляются прямо в код. Если большие, то зависит от опций компилятора.

ничего не отпадёт. я знаю что препроцессор заменяет defin ы на значения, что куда и как непонятно

В учебниках по С/С++ почти всё абстрактно и ничего не сказано что на самом деле делает та или иная конструкция. или например почему

enum{

a = 100,

b = 200;

}; занимает сильно меньше памяти чем

#define a 100

#define b 200

Где физически они хранятся и как выглядят? в машинном коде? Где в контроллере? в памяти программ?

Хотя может я найду ответы на другие свои вопросы, выглядяд очень интересно, особенно 2 книга, Спасибо )

 

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

releyshic пишет:

ничего не отпадёт.

Ну, значит, Вы лучше меня знаете, что в этих книгах написано, а что нет, так что "полный вперёд, ветер в спину!" :)))

releyshic
Offline
Зарегистрирован: 20.11.2015

а какие книги будут после этих 2х в списке :)))? В плане ближе к физическому пониманию конструкций языка?

Просто для PC может и не особо важно ОЗУ и производительность тк ресурса дофига на данный момент, а вот для контроллеров это актуально

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

Да, дело Ваше.

Если Вы хотите понимания физического устройства компилятора - берите его исходники (благо, они доступны) и читайте - это самое точное и полное описание - точнее и полнее нет нигде. Я всегда делаю именно там и с библиотеками, и со всем остальным - мне быстрее посмотреть текст и знать как оно реально сделано, чем читать чьи-то мнения о том, как оно должно было быть сделано.

Но Ваша проблема в том, что Вы пока просто не знаете языка. А когда не знаешь языка, начинать надо с его изучения, а не тонкостей компиляции. 

Впрочем, я не навязываюсь, Вам жить.

releyshic
Offline
Зарегистрирован: 20.11.2015

я не пытаюсь сразу компилятор изучать, но В процессе изучения Книг С/С++ если чтото не понятно обращаться и смотреть что и как сделано на самом деле

RG22EM
Offline
Зарегистрирован: 27.08.2016

Добрый день от начинающего Ардуинчика!
1. А подскажите пожалуйста, вставки ассемлерного кода поддерживаются?
Уж больно много кода генерируется, на ассемблере явно будет меньше.
С AVR не знаком, писал на ассемблере для всех Intel  до версии 80386, ну и на PIC немного,
и 6802. Но было это давно, очень давно.

2. Не пойму как в ARDUINO IDE библиотеки прописывать системные и пользовательские, в мои времена было всё проще -

SET LIB C:\LIB    )))

Собираю такую конструкцию: https://github.com/k3ng/k3ng_rotator_controller
Требует версии 1.6.7, удалось скомпилировать в 1.6.5 поправить для моего I2C китайского дисплейчика, залить и, оно даже работает )))

Но с библиотеками косяк какой-то, часть библиотек пришлось закинуть в существующие, часть в папку библиотек рабочих проектов (скетчей), как-то враскорячку всё ...

И убивает конечный код по объему, 30 килобайт для несложных задач это слишком )))
PS мой драйвер для чтения любых гибких дисков на INTEL 8086 и далее был всего 3.6кб, это когда Альберто Паскуале не написал еще свой знаменитый...

 

 

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

RG22EM пишет:

1. А подскажите пожалуйста, вставки ассемлерного кода поддерживаются?

Да.

 http://www.atmel.com/webdoc/AVRLibcReferenceManual/inline_asm.html

RG22EM пишет:

2. Не пойму как в ARDUINO IDE библиотеки прописывать системные и пользовательские, в мои времена было всё проще -

Библиотек в общипринятом смысле здесь нет (в смысле они не поддерживаются). То, что здесь называется бибилиотеками - это куски исходников, которые надо включать в проект. Как именно - сильно зависит от версии IDE. осваивайтесь :)

Что до размера кода. IDE тащит много чего в целом полезного, но нужного далеко не в каждом проекте. Если это всё не нужно, программируйте в AVR-студио. Там автоматом ничего не тщится, что Вы сами включили, то и Ваше.

 

 

RG22EM
Offline
Зарегистрирован: 27.08.2016

Что-то не стала AVR-студио, не нравится ей мой intel графический адаптер!

По ассемблеру понятно!

Тут 64 битная система, ругается на неподписанные драйверы от атмел

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

RG22EM пишет:

Что-то не стала AVR-студио, не нравится ей мой intel графический адаптер!

Моей тоже не нравился. Поставил второй раз (не снося первого), по дороге установка загнулась. Запустил Uninstall - спросила, "тебе разинсталлировать или починить?". Сказал "почини" - стала как надо и отлично работает.

Ardudue
Offline
Зарегистрирован: 31.08.2016

Всем доброго времени суток!

Господа владельцы DUE, немного не в тему, но может, подскажите проект по реализации генератора прямоугольных импульсов от 0 до 4MHz с максимально точной регулировкой частоты и скважностью.

Гугл в помощь не предлагать, ибо он уже не справился :)