Commit graph

53 commits

Author SHA1 Message Date
Jussi Kivilinna
d0c54039dc Add ffsl(), ffsll(), fls(), flsl(), flsll() and use GCC's __builtin_ctz/__builtin_clz for faster implementation of these 2017-03-24 09:41:31 -06:00
Aleksandr Vyhovanec
bf528f2071 packed_struct replaced by begin_packed_struct and end_packed_struct 2017-01-09 14:17:49 +03:00
Aleksandr Vyhovanec
3770b69572 Update compiler.h to support IAR compiler 2016-04-02 06:24:36 -06:00
Gregory Nutt
9370b94241 compiler.h: Missing IOBJ/IPTR definitions for the ZDS-II toolchain 2016-01-31 12:44:44 -06:00
Gregory Nutt
b28bf55fb0 Cosmetic spacing change 2016-01-05 14:52:20 -06:00
Gregory Nutt
670ac9fb2f Fix an ommission in compiler.h 2016-01-05 14:46:49 -06:00
Dimitry Kloper
06d83c6261 Introduce support for Atmel toolchain in-flash strings
Atmel toolchain AVR compiler provides a transparent in-flash object support using __flash and __memx symbols. The former indicates to compiler that this is a flash-based object.  The later used with pointer indicates that the referenced object may reside either in flash or in RAM. The compiler automatically makes 32-bit pointer with flag indicating whether referenced object is in flash or RAM and generates code to access either in run-time. Thus, any function that accepts __memx object can transparently work with RAM and flash objects.

For platforms with a Harvard architecture and a very small RAM like AVR this allows to move all constant strings used in trace messages to flash in the instruction address space, releasing resources for other things.

This change introduces IOBJ and IPTR type qualifiers.  The 'I' indicates that the object may like in instruction space on a Harvard architecture machine.

For platforms that do not have __flash and __memx or similar symbols IOBJ and IPTR are empty, making the types equivalent to, for example, 'const char' and 'const char*'.  For Atmel compiler these will become 'const __flash char' and 'const __memx char*'.  All printf() functions and syslog() functions are changed so that the qualifier is used with the format parameter.

From: Dimitry Kloper <dikloper@cisco.com>
2016-01-05 10:29:29 -06:00
Gregory Nutt
cb9e27c3b0 Standardize naming used for public data and function groupings 2015-10-02 16:30:35 -06:00
Gregory Nutt
b578c98fa9 Clean up and review of header files for conformance to standards 2015-06-12 19:26:01 -06:00
Gregory Nutt
2176ed38ec Add support for the restrict keyword 2015-02-17 08:24:20 -06:00
Gregory Nutt
a61802640f Defines inline functions as not instrumented - this is relevant for anyone using instrumentation. From Lorenz Meier. 2014-11-12 07:32:36 -06:00
Gregory Nutt
a41c1de32c Add basic data structures that will allow us to move named semaphore support out of the OS and into the VFS (not complete). 2014-09-28 10:15:33 -06:00
Gregory Nutt
3a1324741a More trailing whilespace removal 2014-04-13 14:32:20 -06:00
Gregory Nutt
060b84240b Add macro UNUSED to eliminate warnings about variables that are set to unused values 2014-03-30 07:58:58 -06:00
patacongo
ebf9960deb convert Kwikstik K40 configurations to use kconfig-frontends tools
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5784 42af7a65-404d-4744-a932-0658087f49c3
2013-03-25 17:33:41 +00:00
patacongo
549429b675 Fix some early z180 compile errors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5430 42af7a65-404d-4744-a932-0658087f49c3
2012-12-11 22:51:20 +00:00
patacongo
7950d17653 uClibc++ compiles... but it is a long way from linking
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5293 42af7a65-404d-4744-a932-0658087f49c3
2012-11-01 21:08:56 +00:00
patacongo
cee4481eca lib/math files not follow coding standard; float, double, and long double versions in separate files to reduce size of dumb link
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5270 42af7a65-404d-4744-a932-0658087f49c3
2012-10-28 18:42:09 +00:00
patacongo
3ac88b412e Add MAX11802 touchscreeen driver from Petteri Aimonen
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5237 42af7a65-404d-4744-a932-0658087f49c3
2012-10-20 15:17:19 +00:00
patacongo
7a2692df6a Resync new repository with old repo r5166
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5154 42af7a65-404d-4744-a932-0658087f49c3
2012-09-17 18:35:37 +00:00
patacongo
8e5733ae3f Header file clean-up
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4948 42af7a65-404d-4744-a932-0658087f49c3
2012-07-17 03:58:11 +00:00
patacongo
e6c8a184b9 Add support for accessing printf, sprintf, puts, etc. strings that do not lie in the MCU data space
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3738 42af7a65-404d-4744-a932-0658087f49c3
2011-07-01 19:08:04 +00:00
patacongo
cfe6ed9671 Fixes most integer overflows for AVR
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3689 42af7a65-404d-4744-a932-0658087f49c3
2011-06-09 21:21:29 +00:00
patacongo
09e97e68e2 Fix hcs12 compile issues
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2326 42af7a65-404d-4744-a932-0658087f49c3
2009-12-12 17:23:23 +00:00
patacongo
1b5e34b5c8 Add HC12 header files
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2304 42af7a65-404d-4744-a932-0658087f49c3
2009-12-04 19:43:10 +00:00
patacongo
53a5ea9459 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1535 42af7a65-404d-4744-a932-0658087f49c3
2009-02-28 14:24:48 +00:00
patacongo
59f461ac30 Added support for M16C small memory model
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1507 42af7a65-404d-4744-a932-0658087f49c3
2009-02-15 19:10:29 +00:00
patacongo
c0f9c73868 ez80f910200zco port
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1436 42af7a65-404d-4744-a932-0658087f49c3
2008-12-08 18:44:43 +00:00
patacongo
460aa35bb4 Adding ez80 support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@730 42af7a65-404d-4744-a932-0658087f49c3
2008-03-09 19:59:46 +00:00
patacongo
1bada71e80 Fix errors/omissions in previous check-in
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@701 42af7a65-404d-4744-a932-0658087f49c3
2008-02-17 15:08:45 +00:00
patacongo
8d2f18e709 More z8 compilation changes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@671 42af7a65-404d-4744-a932-0658087f49c3
2008-02-12 14:37:55 +00:00
patacongo
0067b7a08c Fixes for z8 compilation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@669 42af7a65-404d-4744-a932-0658087f49c3
2008-02-11 20:31:36 +00:00
patacongo
ad2155cd0c Changes for Z8Encore\! compile
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@668 42af7a65-404d-4744-a932-0658087f49c3
2008-02-11 19:16:45 +00:00
patacongo
3dc0fee9ba *** empty log message ***
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@597 42af7a65-404d-4744-a932-0658087f49c3
2008-01-31 22:19:53 +00:00
patacongo
40f92a9da4 Z16F integration changes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@595 42af7a65-404d-4744-a932-0658087f49c3
2008-01-31 17:59:22 +00:00
patacongo
e881da738c Compiles with ZDS-II
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@540 42af7a65-404d-4744-a932-0658087f49c3
2008-01-09 22:53:52 +00:00
patacongo
748bcdbe11 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@537 42af7a65-404d-4744-a932-0658087f49c3
2008-01-09 02:03:14 +00:00
patacongo
817b284a13 Support C pre-processors without variable-arg macros
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@535 42af7a65-404d-4744-a932-0658087f49c3
2008-01-09 01:13:24 +00:00
patacongo
93dd5f44cb Adding support for the z16f
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@520 42af7a65-404d-4744-a932-0658087f49c3
2008-01-07 23:13:12 +00:00
patacongo
932463210f Changes for SDCC compiler
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@453 42af7a65-404d-4744-a932-0658087f49c3
2007-12-28 01:44:34 +00:00
patacongo
5fe0d01775 Integrating with DM320
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@368 42af7a65-404d-4744-a932-0658087f49c3
2007-11-04 22:59:30 +00:00
patacongo
aa8343178b Fixed for CYGWIN build
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@346 42af7a65-404d-4744-a932-0658087f49c3
2007-09-18 03:00:26 +00:00
patacongo
bece513004 SDCC specific changes. Z80 support; re-enable __FILE__ and __LINE__ in assert -- might have broken the 8051/2
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@277 42af7a65-404d-4744-a932-0658087f49c3
2007-06-09 20:31:09 +00:00
patacongo
0cc9e15ccc Define 'inline' for SDCC so that code can use the inline storage class if not supported
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@74 42af7a65-404d-4744-a932-0658087f49c3
2007-03-16 22:06:21 +00:00
patacongo
af1289c019 Re-design vsprintf so that it does not use so much stack; handle 8051's 2-byte generic pointers.
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@38 42af7a65-404d-4744-a932-0658087f49c3
2007-03-05 20:38:39 +00:00
patacongo
bcd6ba97bd This creates a 8051 build that can run in 24Kb of RAM
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@26 42af7a65-404d-4744-a932-0658087f49c3
2007-03-01 21:05:55 +00:00
patacongo
fb61b0b76b Still working toward clean 8051 link
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@25 42af7a65-404d-4744-a932-0658087f49c3
2007-02-28 23:45:56 +00:00
patacongo
a60059d9d0 Finally, a clean SDCC compile
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@20 42af7a65-404d-4744-a932-0658087f49c3
2007-02-27 21:17:21 +00:00
patacongo
b8f3bd857b Progress toward clean SDCC compilation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@18 42af7a65-404d-4744-a932-0658087f49c3
2007-02-21 21:55:16 +00:00
patacongo
7207076a5d Eliminating SDCC compilation errors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@17 42af7a65-404d-4744-a932-0658087f49c3
2007-02-21 02:19:19 +00:00