Without any special work (other than disabling the threading, caching, and some of the communication protocols like USB and i2c) I get a stripped library size of: libow 436k libowcapi 9.5k
I know I can improve that by removing serial, and network support, as well as the help pages. What is your size budget? Paul On Fri, Nov 26, 2010 at 3:58 PM, Iztok Jeras <[email protected]> wrote: > Thanks again, > > So GCC is hte default compiler on Nios II, and the CPU can run full > Linux, so it should run. > > I am not sure about libc, but fork, thread is probably at least > different. Malloc is available. > > I would appreciate a size estimate, thanks. > > Yes OWCAPI is what I am looking for. > > My intention is to create an easy to use onewire component for the > Altera ecosystem, so that as many people can use it as possible. > Most of the work on this project is integration into the ecosystem > (fast System on Chip prototyping on FPGA). > So I hope others will base their products on my code, if I make it > straightforward to use. > Unique identification with an included thermometer is a great feature > for embedded systems. > > Regards, > Iztok Jeras > > On Fri, Nov 26, 2010 at 6:40 PM, Paul Alfille <[email protected]> wrote: >> Ok, OWFS supports the bit-level interface. >> Can you run OWFS on the CPU (nios II)? >> We can run with a smaller C library (like ucLibc) and avoid all the >> dubugging and fork/thread code. >> You would need a working malloc >> >> I need to do some tests to tell you the stripped down size. >> >> I presume you'd write a C program that actually uses the data, >> probably through the OWCAPI interface. >> >> Is this what you have in mind? >> >> Your alternative, the Public Domain Kit, is also a nice alternative. >> It certainly is small and light weight. Digitemp might be another >> option. >> >> I guess I'm note sure what you eventually intend? A controller with >> 1-wire interface and your CPU running a control program? >> >> On Fri, Nov 26, 2010 at 11:20 AM, Iztok Jeras <[email protected]> wrote: >>> Thanks for your reply. >>> >>> I must firs state that this is not a commercial project, I do it for >>> 'karma' (references), so I do not have a lot of time available. >>> >>> The simplest description would be, I need the parts of owfs that are >>> equivalent to the public domain kit. But OWFS should be better mostly >>> because it is newer and supports a wider range of 1-wire slaves. >>> >>> The easiest way for me to proceed would be to find an OWFS based >>> project with the next properties: >>> 1. a system with no or only a basic OS (malloc, scheduler) a >>> micro-controller for example >>> 2. a C API that can be used to access 1-wire devices like >>> thermometers, memories, ... it should be possible to enable or disable >>> a group of devices. >>> 3. without a filesystem, network access >>> >>> The system inside a FPGA would look like this (from bottom to top): >>> HARDWARE >>> 1. sockit_owm as the 1-wire master >>> 2. a system bus and interrupt line between the peripheral (sockit_owm) >>> and the CPU (Nios II) >>> 3. CPU Nios II, with some ROM (up to 2MB) and some RAM (form 128kB to 512kB) >>> SOFTWARE: >>> 4. low level access functions interacting directly with hardware >>> registers, implementing only reset/presence detect write/read bit >>> (there is no byte level support in hardware), overdrive and power >>> supply options >>> 5. a layer handling byte access, CRC, standard commands, ... >>> 6. a C API layer handling device discovery, ... >>> 7. a C API supporting thermometer ... >>> 8. no filesystems, no network support >>> >>> There is nothing smart in my hardware, so it should not be restricted >>> to a closed set of 1-wire slaves, since everything can be done in >>> software. >>> >>> Without a micro-controller level port of OWFS I will probably stick >>> with the public domain kit. Pointing me to low level functions that >>> implement bit level transfers, byte access, CRC, device discovery, >>> would also help. >>> >>> Regards, >>> Iztok Jeras >>> >>> On Fri, Nov 26, 2010 at 4:18 PM, Paul Alfille <[email protected]> >>> wrote: >>>> Very interesting work. >>>> >>>> Regarding integration with OWFS, we need to clarify the scope. >>>> >>>> 1. Your device you be used as a bus master communicating with OWFS >>>> running on another machine. >>>> OWFS would communicate with your device over whatever communication >>>> means you implement (ethernet, serial, i2c, ... >>>> We've done this for a dozen prior devices, including >>>> microprocessor-based designs. There are only a few 1-wire commands >>>> that need to be supported. >>>> >>>> 2. Running owfs on the FPGA is a little trtickier. What would you >>>> actually want to do? I assume your wouldn't have a user environment or >>>> file system available. >>>> >>>> When you think about it, OWFS has 3 parts: >>>> A. 1-wire communication to 1-wire slaves (via a bus master) >>>> B. Knowledge about the specific slaves, and all the protocol details >>>> needed generate temperature and switch state and memory information >>>> is a general way rather than low-level byte codes. >>>> C. A communication method to the user -- filesystem, program calls, >>>> web-page, network packets. >>>> ( There is also some caching, locking, and optimizations built in, but >>>> that's not essential ). >>>> >>>> Part B is the hard part, there are a lot of slaves. Most commercial >>>> smart bus masters that do this only support a few of the slaves based >>>> on commercial demand (temperature most commonly). >>>> >>>> I think the bus master is the easiest to implement. What is your vission? >>>> >>>> Paul Alfille >>>> >>>> >>>> On Fri, Nov 26, 2010 at 5:21 AM, Iztok Jeras <[email protected]> wrote: >>>>> Hi, >>>>> >>>>> I would like to promote my project first., than I will ask you about >>>>> porting OWFS. >>>>> >>>>> I wrote Verilog RTL 1-wire master with the next features: >>>>> - writen in Verilog HDL, tested on Altera Cyclone II FPGA >>>>> - reset/presence and bit write/read timing implemented in hardware >>>>> - byte access commands done in software (port of public domain kit 3.10) >>>>> - power delivery option (functionality is a bit hardware dependent) >>>>> - overdrive mode support (not tested yet) >>>>> - integration into Altera SOPC builder and Nios II EDS >>>>> >>>>> The project it developed here: >>>>> https://github.com/jeras/sockit_owm >>>>> Its final destination will be here: >>>>> http://opencores.org/project,sockit_owm >>>>> >>>>> It would be great if anybody would be willing to test, report bugs, or >>>>> help in any other way. >>>>> >>>>> >>>>> Regarding OWFS, I see two porting paths: >>>>> 1. porting OWFS to Nios II EDS + uCOS (a small real time OS) >>>>> 2. writing a Linux driver, running it on OpenRisc from OpenCores.org >>>>> >>>>> The first solution requires a minimalistic port of OWFS with only C >>>>> API. It should fit into between 32KiB and 128KiB RAM+ROM. Is there a >>>>> project with such a minimalistic port, so I could check it? Otherwise >>>>> is there a clean way to do it? >>>>> >>>>> The Linux driver and OpenRisc port wil have to wait, I do not have the >>>>> development environment ready yet. >>>>> >>>>> >>>>> For now I stil have so me hardware tests to run and some documentation >>>>> to write, but if there is an clean way to port OWFS it might be a >>>>> better choice than the current port of the public domain kit. >>>>> >>>>> Regards, >>>>> Iztok Jeras >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! >>>>> Tap into the largest installed PC base & get more eyes on your game by >>>>> optimizing for Intel(R) Graphics Technology. Get started today with the >>>>> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. >>>>> http://p.sf.net/sfu/intelisp-dev2dev >>>>> _______________________________________________ >>>>> Owfs-developers mailing list >>>>> [email protected] >>>>> https://lists.sourceforge.net/lists/listinfo/owfs-developers >>>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! >>>> Tap into the largest installed PC base & get more eyes on your game by >>>> optimizing for Intel(R) Graphics Technology. Get started today with the >>>> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. >>>> http://p.sf.net/sfu/intelisp-dev2dev >>>> _______________________________________________ >>>> Owfs-developers mailing list >>>> [email protected] >>>> https://lists.sourceforge.net/lists/listinfo/owfs-developers >>>> >>> >>> ------------------------------------------------------------------------------ >>> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! >>> Tap into the largest installed PC base & get more eyes on your game by >>> optimizing for Intel(R) Graphics Technology. Get started today with the >>> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. >>> http://p.sf.net/sfu/intelisp-dev2dev >>> _______________________________________________ >>> Owfs-developers mailing list >>> [email protected] >>> https://lists.sourceforge.net/lists/listinfo/owfs-developers >>> >> >> ------------------------------------------------------------------------------ >> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! >> Tap into the largest installed PC base & get more eyes on your game by >> optimizing for Intel(R) Graphics Technology. Get started today with the >> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. >> http://p.sf.net/sfu/intelisp-dev2dev >> _______________________________________________ >> Owfs-developers mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/owfs-developers >> > > ------------------------------------------------------------------------------ > Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! > Tap into the largest installed PC base & get more eyes on your game by > optimizing for Intel(R) Graphics Technology. Get started today with the > Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. > http://p.sf.net/sfu/intelisp-dev2dev > _______________________________________________ > Owfs-developers mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/owfs-developers > ------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. http://p.sf.net/sfu/intelisp-dev2dev _______________________________________________ Owfs-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/owfs-developers
