Commit Graph

44 Commits

Author SHA1 Message Date
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
006528b144 Add support for freopen() 2015-11-22 08:39:17 -06:00
Paul A. Patience
c0a1d8e960 stdio: Define BUFSIZ 2015-11-18 15:09:43 -05:00
Gregory Nutt
cb9e27c3b0 Standardize naming used for public data and function groupings 2015-10-02 16:30:35 -06:00
Sebastien Lorquet
77e4e7b231 Change all references from avsprintf to vasprintf. From Sebastien Lorquet 2015-09-07 13:22:13 -06:00
Gregory Nutt
ca29c652c3 Remove duplicate prototype of statfs from stdio.h. Belongs in sys/statfs.h only. Note by Michael Hope 2015-05-12 07:00:11 -06:00
Gregory Nutt
787cd466d2 Add tmpnam() and tempnam() 2014-11-05 10:43:17 -06:00
Gregory Nutt
7025465109 Adds support for localtime. From Max Neklyudov 2014-08-12 06:18:22 -06:00
Gregory Nutt
c5f9b8768e Add type rsize_t and function gets_s() 2014-01-07 16:27:45 -06:00
Gregory Nutt
545cef3223 scanf() fixes from kfrolov: 1) sscanf() function hangs in the following example: sscanf(2, %u,%u,%u,%u, ...), 2) sscanf() returns incorrect number of parsed numbers if some arguments can't be parsed: sscanf(=2, %u,%u,%u,%u,...)==1 instead of 0, and 3) using of char* instead of const char* in vsscanf function leads to warnings from GCC. 2013-10-21 10:41:15 -06:00
Gregory Nutt
44450511d4 Add dprintf() and vdprintf() 2013-06-02 15:49:52 -06:00
patacongo
1c52dce216 More changes for a kernel-mode allocator (more to be done)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5724 42af7a65-404d-4744-a932-0658087f49c3
2013-03-09 21:12:20 +00:00
patacongo
55265bfb4d Add support for ferror(), feof(), and clearerr()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5290 42af7a65-404d-4744-a932-0658087f49c3
2012-11-01 15:00:26 +00:00
patacongo
94a048002b Add perror()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5061 42af7a65-404d-4744-a932-0658087f49c3
2012-08-28 19:01:14 +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
2fe4ad52f8 Move file-system header files to include/nuttx/fs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4499 42af7a65-404d-4744-a932-0658087f49c3
2012-03-21 18:01:07 +00:00
patacongo
b075ac5236 Add avsprintf()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4365 42af7a65-404d-4744-a932-0658087f49c3
2012-02-03 17:31:08 +00:00
patacongo
29a70ad011 Add asprintf()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3652 42af7a65-404d-4744-a932-0658087f49c3
2011-05-31 17:26:24 +00:00
patacongo
21ae727f6f Add syscall directory
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3438 42af7a65-404d-4744-a932-0658087f49c3
2011-03-30 02:59:01 +00:00
patacongo
eeec4073a9 Switching to C99 stdint.h types
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2340 42af7a65-404d-4744-a932-0658087f49c3
2009-12-14 23:32:23 +00:00
patacongo
485c3066e1 Add fileno()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1985 42af7a65-404d-4744-a932-0658087f49c3
2009-07-13 01:35:15 +00:00
patacongo
3975fc5bdf Add tdate_parse.c
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1982 42af7a65-404d-4744-a932-0658087f49c3
2009-07-12 20:48:44 +00:00
patacongo
cd37d9323a cosmetic updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1709 42af7a65-404d-4744-a932-0658087f49c3
2009-04-19 15:21:22 +00:00
patacongo
6cb7caab02 Make use of FAR consistent in stdio.h
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1182 42af7a65-404d-4744-a932-0658087f49c3
2008-11-10 14:40:03 +00:00
patacongo
368ef1c0e8 Make sure z16f still builds
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1154 42af7a65-404d-4744-a932-0658087f49c3
2008-11-07 18:16:01 +00:00
patacongo
4f58db9c18 Fix fseek/ftell; add fsetpos/fgetpos
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@862 42af7a65-404d-4744-a932-0658087f49c3
2008-09-01 20:35:41 +00:00
patacongo
709263b6d8 Add chdir() and getcwd()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@837 42af7a65-404d-4744-a932-0658087f49c3
2008-08-22 23:38:33 +00:00
patacongo
8403a62cdf More SDCC compilation fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@468 42af7a65-404d-4744-a932-0658087f49c3
2007-12-30 23:34:20 +00:00
patacongo
a019c26daa Add vsnprintf
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@407 42af7a65-404d-4744-a932-0658087f49c3
2007-11-25 16:49:08 +00:00
patacongo
7015014104 Added snprintf
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@325 42af7a65-404d-4744-a932-0658087f49c3
2007-09-02 19:43:16 +00:00
patacongo
9dd25d7965 Remove duplicate definition of struct statfs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@260 42af7a65-404d-4744-a932-0658087f49c3
2007-05-27 23:09:23 +00:00
patacongo
a0153a1ed2 Add stat()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@257 42af7a65-404d-4744-a932-0658087f49c3
2007-05-27 18:08:18 +00:00
patacongo
0cb1595215 Add unlink(), mkdir(), rmdir(), and rename()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@246 42af7a65-404d-4744-a932-0658087f49c3
2007-05-21 14:36:00 +00:00
patacongo
354501be05 ioctl should be prototyped in sys/ioctl.h
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@114 42af7a65-404d-4744-a932-0658087f49c3
2007-03-21 19:56:14 +00:00
patacongo
3f1b80218e Restructure header files for POSIX compliance; eliminate compile warnings
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@107 42af7a65-404d-4744-a932-0658087f49c3
2007-03-20 16:51:12 +00:00
patacongo
c0c7b17bf1 Remove some defines that belong in limits.h
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@73 42af7a65-404d-4744-a932-0658087f49c3
2007-03-16 22:04:45 +00:00
patacongo
599f8b4682 Added opendir, readdir, closedir, etc.
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@62 42af7a65-404d-4744-a932-0658087f49c3
2007-03-14 22:41:09 +00:00
patacongo
aab0d08d21 Add to nsh, add limits.h, gets, strtok, strtok_r
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@54 42af7a65-404d-4744-a932-0658087f49c3
2007-03-10 14:42:30 +00:00
patacongo
435fe50ea6 Fix IRQ-related bugs, fix serial read logic, add fgets
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@51 42af7a65-404d-4744-a932-0658087f49c3
2007-03-10 00:17:29 +00:00
patacongo
31c51190dd Debug instrumentation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@47 42af7a65-404d-4744-a932-0658087f49c3
2007-03-09 15:27:47 +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
4881fed8bf Working toward compiler independence: Removed inline funcs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@15 42af7a65-404d-4744-a932-0658087f49c3
2007-02-20 23:16:24 +00:00
patacongo
3c0e634aee Eliminating GCC dependencies
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@14 42af7a65-404d-4744-a932-0658087f49c3
2007-02-20 22:39:56 +00:00
patacongo
b08a86171f NuttX RTOS
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3 42af7a65-404d-4744-a932-0658087f49c3
2007-02-17 23:21:28 +00:00