Giter VIP home page Giter VIP logo

firmware_v1's Introduction

Readme

This is the root directory of the CIAA Firmware Project

Quality report

Travis: [![Build Status](https://travis-ci.org/ciaa/Firmware.svg?branch=master)](https://travis-ci.org/ciaa/Firmware) Drone: [![Build Status](https://drone.io/github.com/ciaa/Firmware/status.png)](https://drone.io/github.com/ciaa/Firmware/latest) Coverity: Coverity Scan Build Status CircleCI: [![Build Status](https://circleci.com/gh/ciaa/Firmware/tree/master.svg?style=shield)](https://circleci.com/gh/ciaa/Firmware) Issue: [![Issue status](http://issuestats.com/github/ciaa/Firmware/badge/issue)](http://issuestats.com/github/ciaa/Firmware)

Important

In this project we are using git submodules, if you use "download zip" link from github it will NOT download the git submodules :(. Please download the releases or clone using:

git clone --recursive https://github.com/ciaa/Firmware.git

Project Information

firmware_v1's People

Contributors

112358fn avatar apermingeat avatar cpantel avatar dariosb avatar diefernandez avatar diegovom avatar ejesposito avatar epernia avatar evolentini avatar fbeunza avatar fsalinasmendoza avatar glpuga avatar gmuro avatar gramoscelli avatar jaranguren avatar jcecconi avatar m4v avatar mabeett avatar martinribelotta avatar mcerdeiro avatar mdelloso avatar nataliarequejo avatar patriciobos avatar pridolfi avatar sbstnrossi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

firmware_v1's Issues

el unity testing no usa -Wall -Werror :(

-Wall -Werror no deja compilar algunos archivos de unity. Porvisoriamente saque -Wall -Werror pero hay que volver a agregarlo haciendo reglas distintas de compilacion para los archivos de untiy donde no nos importan los warnings y los archivos de la ciaa donde SI NOS importan los warnings.

Este ticket esta para resolver el problema y volver a agregar -Wall -Werror en el makefile en la parte de unit testing.

Documentación

el proyecto va a necestiar algún tipo de documentación además de doxygen. Docbook o latex.

Importante sería que se pueda generar pdf (para quein lo quiere bajar e imprimir) y html para quein lo quiera ver online y además poder mostrar la guia de referencia en la página.

Modulo Ladder Interpreter

Como corremos el código creado en Ladder. Este va a ser un tema importante, necesitamos expertos en el tema.

Hay un standard abierto, pero no recuerdo el nombre, Pablo me lo comento ayer. Quienes son los expertos en el tema?

Que funcionalidades necesitaria un Interpreter de Ladder de las capas inferiores?

add mock dependencies to tst makefiles

some tests are not compiling.
the variable of the test makefiles:
_TST_MOD
shall be evaluated and those mocks shall be compiled/linked with the test.

Definir la estructura de directorios y de cada módulo

Por ejemplo:
CIAAFirmware/examples
CIAAFirmware/examples/example1
CIAAFirmware/examples/example2
CIAAFirmware/out
CIAAFirmware/out/bin
CIAAFirmware/out/lib
CIAAFirmware/out/doc --> eg. for Doxygen
CIAAFirmware/modules
CIAAFirmware/modules/bsp
CIAAFirmware/modules/os
CIAAFirmware/modules/...
CIAAFirmware/externals/ --> eg. FreeRTOS FreeOSEK, otras cosas?
CIAAFirmware/make

Nightly build o Continuous Integration

Para el proyecto deberiamos ir pensando en un Continuous Integration al menos a mediano plazo.

Yo conozco Jenkins pero no es algo wow, hace lo que tiene. Otras opciones?

En google lo primero que encontre de servers: http://www.cloudbees.com/ pero no lo conozco.

Para el tema de los slaves deberian estar en la CIAA, CADIEEL o ACSE, no se si existe esa posibilidad?

Cear DataTypes para cada platform, al menos Windows/Posix (32/64) y CortexM4

por ejemplo:
modules/platform/Types.h <- los genericos
modules/platform/cortexM4/Types_Arch.h
modules/platform/x86/Types_Arch.h
modules/platform/x86_64/Types_Arch.h

y types.h deberian incluir Types_Arch.h y con las makefiles deberiamos incluir el correcto, les parece?

Deberian crear los siguientes tipos

uint8
uint16
uint32
uint64
sint8
sint16
sint32
sint64

uint8f
uint16f
uint32f
uint64f
sint8f
sint16f
sint32f
sint64f

o algo similar.

Types.h podria definir algunos macros como ser:

TRUE
FALSE

E_OK
E_NOT_OK

Agregar Assert

assert. colocarlo para detectar tempranamente errores en debug

Los obj files deberian compilarce en out/obj

Y no al lado de los .c
Como no pude resolver el probelma y no queria invertir más tiempo es que los .o se compilan el el mismo directorio a los .c.
Si pude compilar en out/obj/.o lo que no pude es hacer entender a make la dependencia entre un archivo .c en un subdirectorio y el mismo nombre de archivo.o en out/obj, por ende deje que los .o y los .c esten en el mismo directorio.

No muy lindo pero funciona, debe ser mejorado en el futuro.

Add support for C++ in C header files

add to all header files after the includes but before and after anything else:

#ifdef __cplusplus
extern "C" {
#endif

/* content */

#ifdef __cplusplus
}
#endif

variant y configuration management in CIAA Firmware

Necesitamos ver como manejar el tema de configuration y variation management... :(

  • For example ciaaPOSIX_stdio.c calls PreCallService, this shall only be done if OSEK is present... :(

In general: we need a solution for variant management, like OIL or a header file for configuration. Ideas?

Como configuramos todos los drivers (los macros por ejemplo), como sabe el ciaak_start que drivers debe inicializar?

Como hacemos con las dependencias de un modulo a otro?

Windows mingw o cygwin?

Para el make que armemos va a haber que preparar un paquete para los usuarios que utilicen windows (la mayoria supongo). Conoczo 2 opciones:

mingw (mas sencillo de instalar)
cygwin (más potente)

yo no uso windows, alguien que utilice windows se deberia ocupar de esto 👍

Licencia para el Firmware

Definir finalmente el tema de la licencia:

LGPL
GPL+LinkingException
BSD
MIT

En los mails corrio mucho pero seria bueno documentar la resolución final en un ticket y cerrar el tema, cuando se cierre el tema debe ser completado en los templates: #4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.