Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: TNKernel под Hi-Tech PICC
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
CodeWarrior1241
Хотелось бы освоить TNKernel RTOS, портированный уважаемым Alex B._ на PIC24/dsPIC архитектуру. На сайте с исходниками для TNKernel сказано что ось предназначена для C30 компилятора. Я привык пользоватся хай-теком для компиляции, и обновляю версию. Какие сложности могут быть если портировать с C30 на хай-тек?
Alex B._
Вот это кстати видели?
http://wiki.pic24.ru/doku.php

Принципиальных сложностей никаких не вижу - просто надо переписать асмовые модули под синтаксис хай-тека. Но вообще, рекоменую все же на C30 перелезать. У хай-тека, имхо, в плане 16- и 32-битников мрачное будущее... Слышали, чтобы кто-нибудь использовал хай-тек для АРМ или МСП430? А у них он есть...
dac
Цитата(CodeWarrior1241 @ Apr 25 2008, 03:23) *
Какие сложности могут быть если портировать с C30 на хай-тек?


вот наоборот без проблем, а на хай-тек... (.)
писал уже раньше, но повторюсь: был проект по пик18ф452 на хитек. из-за сроков (452 поставить не успевали а дсПИК были на складе) пришлось быстро переделать под дсПИК.
Пибившись головой ап стену с недельку на хитек для дсПИК запустить не получилось. Поставил С30 за два вечера проект заработал (пришлось изменить работу с битовыми переменными - завести из как битовые поля и изменить имена портов/регистров), хотя до этого с ним не работал.

Было больше года назад, может сейчас что и изменилось. Проблемы были с массивами, прерываниями и doubl.
CodeWarrior1241
Возможно я и "пропустил" ту версию которая давал Вам солько проблем. Писал как раз на pic18f452 & 458 хай-теком которуму было года 3... проблем не имел. Как раз примерно год назад хай-тековцы и добавили omg, возможно первоначально добавили криво и он Вам таким попался.

Меня, собссно, интересовали различия между хай-теком и C30. Я дествительно не слышал что бы кто-то пользовался хай-теком для других архитектур, но для пиковских 16/32бит систем они плотно держутся.

Скорее всего напишу какой-нибудь бенчмарк, с прерываниями, дерганьем таймеров, и spi. Посмотрим какая разница будет.
Alex B._
Цитата(CodeWarrior1241 @ Apr 25 2008, 20:29) *
Меня, собссно, интересовали различия между хай-теком и C30. Я дествительно не слышал что бы кто-то пользовался хай-теком для других архитектур, но для пиковских 16/32бит систем они плотно держутся.


Не, они держаться плотно только для 8-битников и то уже начинают сдавать позиции CCS-у.

Цитата(CodeWarrior1241 @ Apr 25 2008, 20:29) *
Скорее всего напишу какой-нибудь бенчмарк, с прерываниями, дерганьем таймеров, и spi. Посмотрим какая разница будет.


Попробуй, но таймера и spi прелести компилятора во все красе не раскроют. Интовая арифметика, в том числе 32-битная, switch-case, работа с констовыми переменными, ну и т.д. В общем, стандартные тесты для си компиляторов. Из либ проверьте плавающую точку и sprintf, например...
Но самое главное это то, что для хай-тека нет вообще ничего. Ни примеров различных, ни библиотек (в том числе DSP), ни файловой системы, ни tcp-ip, ни GUI... Да, у микрочипа оно тоже не лучшее по реализации, но, по крайней мере оно есть. И можно заточить под себя.
Кстати, все rtos (freeRTOS, AVIX, ThreadX, CMX, TNKernel, uC/OS-II) тоже имеют порты только для C30. Ни одного порта для хай-тека - это о чем то говорит?

А год или полтора назад, когда мой знакомый тестировал dsPICC, C30 и IAR, хай-тек слил почти в два раза.
dac
Цитата(CodeWarrior1241 @ Apr 25 2008, 20:29) *
Возможно я и "пропустил" ту версию которая давал Вам солько проблем. Писал как раз на pic18f452 & 458 хай-теком которуму было года 3...
Меня, собссно, интересовали различия между хай-теком и C30.


я наверное сумбурно написал - для пик18 (8-битных) как раз проблем не было, до сих пор хитеком пользусь для них, проблемы начились с дсПИК (16-битные)

явные отличия - отсутсвие в с30 переменных типа bit, немного по другому имена портов/сфр определяются
etoja
Про C30 (- это ГНУ компилятор):

MPLAB C30 is based on GCC. GCC has many different optimisations that can be
turned on and off individually. As well as individual optimisations you can
turn groups of optimisations on and off in one go - the groups being level
1, level 2, level 3 and level 's'. Check out the GCC documentation for the
individual optimisations that are included in level 1 group.

(http://www.embeddedrelated.com/usenet/embedded/show/72189-1.php)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.