реклама на сайте
подробности

 
 
> Параметры проекта
skyv
сообщение Jan 14 2013, 06:46
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 181
Регистрация: 26-07-10
Пользователь №: 58 606



Доброго дня всем.
Есть проект на PIC33 (MPLAB) и мне надо
автоматически сохранять параметры проекта
(время, дата, размер hex и т.п.) в некоторой переменной,
которую я могу вычитывать при функционировании
программы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Cosmojam
сообщение Jan 19 2013, 19:38
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 12-01-11
Из: Калининград (Koenigsberg)
Пользователь №: 62 182



Дату/время сборки можно узнать из стандартных макросов ANSI C http://gcc.gnu.org/onlinedocs/cpp/Standard...ned-Macros.html
А прочую инфу как размер бинарника как Ruslan1 говорит, только более надёжно писать это не в выходной хекс, а в константу в коде и запускать программку перед сборкой, а не после. Тогда при каждом билде будет подставляться размер бинарника от прошлого билда. Вам только следить за актуальностью этой информации перед выпуском релиза (собирать дважды). Вот пример Ruby-скрипта, генерирующий h-файл с номером крайнего коммита в git
Код
Dir.chdir(File.expand_path(File.dirname(__FILE__)))

filename = "git_revision.h"
git_exec = "git log --pretty=oneline -n1"

file_included = filename.gsub(".h", "_H").upcase

file = File.new(filename, "w")

file.puts("#ifndef #{file_included}")
file.puts("#define #{file_included}")

file.print "static volatile const char *GIT_REVISION = "
file.print %x[#{git_exec}].chomp.inspect
file.puts ";"

file.puts("#endif")

file.close

puts "************************************"
puts "Git revision written to #{filename} "
puts "************************************"

Элементарно добавить сюда размер бинарника и любую другую инфу.
Заодно дисциплинирует делать отдельные коммиты на финальные релизы чтобы после пересборки в коде фактически был именно тот коммит, из которого проект собран.


--------------------
typedef enum { no, yes, maybe } bool; | блог тут
Go to the top of the page
 
+Quote Post
skyv
сообщение Jan 23 2013, 11:34
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 181
Регистрация: 26-07-10
Пользователь №: 58 606



Цитата(Cosmojam @ Jan 19 2013, 22:38) *
...


Понятно, спасибо за ответ.

Цитата(Ruslan1 @ Jan 19 2013, 18:30) *
Угу. А потом поменялась версия компилятора и метод вычисления или адрес куда пишут изменился. То-то радости при саппорте такого проекта будет. А Ваш батник как считал, так и будет продолжать считать, независимо от версии мплаба sm.gif


Меня абсолютно не волнует по какому адресу будет находиться моя переменноя ("My_Var") и пусть ее компилятор ложит каждый раз
в другое место, что из того. Я считаю, что всегда смогу увитеть содержимое именно "My_Var" или я ошибаюсь?

Не думаю, что форма представления даты и времени будет меняется в каждой новой версии компилятора.

По поводу батника я уже писал, что это вполне реальный вариант.


Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th August 2025 - 15:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01488 секунд с 7
ELECTRONIX ©2004-2016