Re: [Freetel-codec2] Necessary files
No problem Eric, Also, just to be complete, as you probably already know, but after the .elf file is built, there is a rule to convert it to a .bin file before upload to the device. # Rule for building .bin files from a .elf %.bin: %.elf $(OBJCOPY) -O binary $< $@ which translates to: arm-none-eabi-objcopy -O binary sm1000.elf sm1000.bin 73 -- ___ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2
Re: [Freetel-codec2] Necessary files
Thanks Steve, You have helped me out heaps. Better idea of what I need now. Cheers Eric. On 2016-09-07 11:42, Steve wrote: > I notice there is "feature creep" in there. I usually strip out this stuff > and then work through all the resulting errors to find where they are > intertwined in the other .h and .c files. But the following files are > unusable fluff right now to your specific HF radio task: > > $(CODEC2_SRC)/kiss_fftr.c > $(CODEC2_SRC)/fsk.c > $(CODEC2_SRC)/fmfsk.c > $(CODEC2_SRC)/freedv_vhf_framing.c > $(CODEC2_SRC)/freedv_data_channel.c > > ...although it won't hurt to leave them in. It will keep the flash warm. > > FYI > > Also, I didn't mention the .a (archive file), but I assume you know that is > the library that is built from all the ARM code that was burst from the STM > ZIP file. Once you build the .a file, set it aside and you don't ever have to > build it again. > > 73 > > -- > > ___ > Freetel-codec2 mailing list > Freetel-codec2@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freetel-codec2 [1] Links: -- [1] https://lists.sourceforge.net/lists/listinfo/freetel-codec2 -- ___ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2
Re: [Freetel-codec2] Necessary files
I notice there is "feature creep" in there. I usually strip out this stuff and then work through all the resulting errors to find where they are intertwined in the other .h and .c files. But the following files are unusable fluff right now to your specific HF radio task: $(CODEC2_SRC)/kiss_fftr.c $(CODEC2_SRC)/fsk.c $(CODEC2_SRC)/fmfsk.c $(CODEC2_SRC)/freedv_vhf_framing.c $(CODEC2_SRC)/freedv_data_channel.c ...although it won't hurt to leave them in. It will keep the flash warm. FYI Also, I didn't mention the .a (archive file), but I assume you know that is the library that is built from all the ARM code that was burst from the STM ZIP file. Once you build the .a file, set it aside and you don't ever have to build it again. 73 -- ___ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2
Re: [Freetel-codec2] Necessary files
For example, the rule is: sm1000.elf: $(SM1000_SRCS:.c=.O3.o) src/stm32f4_dac.O3.o \ src/stm32f4_adc.O3.o libstm32f4.a $(CC) $(CFLAGS) -O3 $^ -o $@ $(LIBPATHS) $(LIBS) Which says it needs SM1000_SRCS, src/stm32f4_dac.O3.o, src/stm32f4_adc.O3.o, libstm32f4.a Working backwards, we find, just above this rule, the dac and adc build rules which are single files, and then above those you see SM1000_SRCS is made up of a list of file + CODEC2_SRCS SM1000_SRCS=\ src/sm1000_main.c \ src/tone.c \ src/sfx.c \ src/sounds.c \ src/morse.c \ src/menu.c \ src/tot.c \ src/sm1000_leds_switches.c \ ../src/fifo.c \ src/debugblinky.c \ src/system_stm32f4xx.c \ src/startup_stm32f4xx.s \ src/stm32f4_vrom.c \ src/init.c Way up you'll find CODEC2_SRCS CODEC2_SRCS=\ $(CODEC2_SRC)/lpc.c \ $(CODEC2_SRC)/nlp.c \ $(CODEC2_SRC)/postfilter.c \ $(CODEC2_SRC)/sine.c \ $(CODEC2_SRC)/codec2.c \ $(CODEC2_SRC)/kiss_fft.c \ $(CODEC2_SRC)/kiss_fftr.c \ $(CODEC2_SRC)/interp.c \ $(CODEC2_SRC)/lsp.c \ $(CODEC2_SRC)/phase.c \ $(CODEC2_SRC)/quantise.c \ $(CODEC2_SRC)/pack.c \ $(CODEC2_SRC)/codebook.c \ $(CODEC2_SRC)/codebookd.c \ $(CODEC2_SRC)/codebookjvm.c \ $(CODEC2_SRC)/codebookge.c \ $(CODEC2_SRC)/dump.c \ $(CODEC2_SRC)/fdmdv.c \ $(CODEC2_SRC)/freedv_api.c \ $(CODEC2_SRC)/varicode.c \ $(CODEC2_SRC)/golay23.c \ $(CODEC2_SRC)/fsk.c \ $(CODEC2_SRC)/fmfsk.c \ $(CODEC2_SRC)/freedv_vhf_framing.c \ $(CODEC2_SRC)/freedv_data_channel.c I use an IDE myself, but had to use Makefiles back in the PDP-11 days :-) On Wed, Sep 7, 2016 at 3:44 AM,wrote: > Thanks for that Steve, > > That should help heaps. > > I'm not up to speed with make files because I usually work in and IDE > which take care of this. > > By being able to just place the files I need in a suitable folder I will > be able to much eaiser import this code into an IDE where I can begin to > work on it. > > Dave had pointed to the make file but wasn't sure of the specific rule. > > Again thank you for your help Steve. > > > > Cheers > > Eric > > > > On 2016-09-07 10:37, Steve wrote: > > The necessary files are in the stm32/Makefile > > Look at the rule for sm1000.elf and work backwards. Were it I, I would > copy the Makefile and edit out the builds you don't need. > > > -- > > > ___ > Freetel-codec2 mailing > listFreetel-codec2@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/freetel-codec2 > > > > > > -- > > ___ > Freetel-codec2 mailing list > Freetel-codec2@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freetel-codec2 > > -- ___ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2
Re: [Freetel-codec2] Necessary files.
Eric That's a bit rich in considering the company you are keeping on this forum I hope you don't do any really serious client software work, in my opinion you are inexperienced or poorly skilled or both in the art. Now, if you were a basic hobbyist with little embedded microcontroller experience , which I thought that you were by your software questions , than I'd understand. Your abilities are clearly below to me what you self estimate. regards On 7/09/2016 5:34 PM, e...@vk5kbb.com wrote: Bruce I have to say I take offense to a comment like that. I'm trying to make something that will benefit the whole FreeDV community. Yes I don not work on much open source code for the very reason that you describe. It's usually poorly documented, mish mash of code, written in different styles that is difficult to maintain and even more difficult to manage code integrity. I am far more used to developing code for clients that work to well documented code structures and conform to standards that allow for tractability, interoperability and reliability. The kind of code some one can come in years latter and easily update parts to reflect hardware changes or operational needs. In fact with so many people working on an open source project I would have thought it becomes essential to maintain such documentation, commenting and coding standards are the only way to maintain reliability. As I had not found such documentation and with the code not written to embedded C standards I was simply asking, that some one with extensive experience in this project would perhaps be able to help me and get me started. Certainly there are large sections of the project that are not needed and I see no point in wasting time looking at those. A neat simple project with the required files will make coding and reworking far easier. I am sorry that you feel your experience must be kept secret and that I must go it alone and work it out my self. I was hoping to bring significant benefits to the FreeDV project as I thought I had already proven with the hardware contribution and commitment I have made. My time is limited and I do not need to spend hours or days familiarising my self with sections of code I may never need to change or work on again. I have to thank Glenn and Brady for their constructive information that has helped me out a lot and I hope that they dont mind doing so as their posts are truly informative and helpful and a valuable source of guidance in such a project. Regards Eric On 2016-09-07 07:09, Bruce Perens wrote: Eric, When you work with an Open Source project, you are not expected to need documentation of the overall structure of the code, or a list of the essential files, or a timing diagram, or an explanation of the interrupt priority (we already told you it's a busy loop, which means there is no interrupt priority). You are expected to read the code and figure all of that out for yourself. The code is actually not all that difficult. Think of it as a test. You might not be ready to work on this sort of project. Sorry Bruce -- ___ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2 -- ___ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2 -- ___ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2
Re: [Freetel-codec2] Necessary files
Thanks for that Steve, That should help heaps. I'm not up to speed with make files because I usually work in and IDE which take care of this. By being able to just place the files I need in a suitable folder I will be able to much eaiser import this code into an IDE where I can begin to work on it. Dave had pointed to the make file but wasn't sure of the specific rule. Again thank you for your help Steve. Cheers Eric On 2016-09-07 10:37, Steve wrote: > The necessary files are in the stm32/Makefile > > Look at the rule for sm1000.elf and work backwards. Were it I, I would copy > the Makefile and edit out the builds you don't need. > > -- > > ___ > Freetel-codec2 mailing list > Freetel-codec2@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freetel-codec2 [1] Links: -- [1] https://lists.sourceforge.net/lists/listinfo/freetel-codec2 -- ___ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2
Re: [Freetel-codec2] Necessary files
The necessary files are in the stm32/Makefile Look at the rule for sm1000.elf and work backwards. Were it I, I would copy the Makefile and edit out the builds you don't need. -- ___ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2
Re: [Freetel-codec2] Necessary files.
Hi Bruce, This kind of thinking is the reason open source projects are not taken seriously and are seen as little more than toys. I am guilty myself of being lazy, fortunately there are people who don't apply the same reasoning. I do get frustrated when I try to get people into open source and they all laugh at me. Cheers, Adrian On 7 September 2016 06:09:04 GMT+01:00, Bruce Perenswrote: >Eric, > >When you work with an Open Source project, you are not expected to need >documentation of the overall structure of the code, or a list of the >essential files, or a timing diagram, or an explanation of the >interrupt >priority (we already told you it's a busy loop, which means there is no >interrupt priority). > >You are expected to read the code and figure all of that out for >yourself. >The code is actually not all that difficult. > >Think of it as a test. You might not be ready to work on this sort of >project. > >Sorry > >Bruce > > > > >-- > > > > >___ >Freetel-codec2 mailing list >Freetel-codec2@lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/freetel-codec2 -- Sent from my Android device with K-9 Mail. Please excuse my brevity. -- ___ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2
Re: [Freetel-codec2] Necessary files.
Bruce I have to say I take offense to a comment like that. I'm trying to make something that will benefit the whole FreeDV community. Yes I don not work on much open source code for the very reason that you describe. It's usually poorly documented, mish mash of code, written in different styles that is difficult to maintain and even more difficult to manage code integrity. I am far more used to developing code for clients that work to well documented code structures and conform to standards that allow for tractability, interoperability and reliability. The kind of code some one can come in years latter and easily update parts to reflect hardware changes or operational needs. In fact with so many people working on an open source project I would have thought it becomes essential to maintain such documentation, commenting and coding standards are the only way to maintain reliability. As I had not found such documentation and with the code not written to embedded C standards I was simply asking, that some one with extensive experience in this project would perhaps be able to help me and get me started. Certainly there are large sections of the project that are not needed and I see no point in wasting time looking at those. A neat simple project with the required files will make coding and reworking far easier. I am sorry that you feel your experience must be kept secret and that I must go it alone and work it out my self. I was hoping to bring significant benefits to the FreeDV project as I thought I had already proven with the hardware contribution and commitment I have made. My time is limited and I do not need to spend hours or days familiarising my self with sections of code I may never need to change or work on again. I have to thank Glenn and Brady for their constructive information that has helped me out a lot and I hope that they dont mind doing so as their posts are truly informative and helpful and a valuable source of guidance in such a project. Regards Eric On 2016-09-07 07:09, Bruce Perens wrote: > Eric, > > When you work with an Open Source project, you are not expected to need > documentation of the overall structure of the code, or a list of the > essential files, or a timing diagram, or an explanation of the interrupt > priority (we already told you it's a busy loop, which means there is no > interrupt priority). > > You are expected to read the code and figure all of that out for yourself. > The code is actually not all that difficult. > > Think of it as a test. You might not be ready to work on this sort of > project. > > Sorry > > Bruce > > -- > > ___ > Freetel-codec2 mailing list > Freetel-codec2@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freetel-codec2 [1] Links: -- [1] https://lists.sourceforge.net/lists/listinfo/freetel-codec2 -- ___ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2
Re: [Freetel-codec2] Necessary files.
Eric, When you work with an Open Source project, you are not expected to need documentation of the overall structure of the code, or a list of the essential files, or a timing diagram, or an explanation of the interrupt priority (we already told you it's a busy loop, which means there is no interrupt priority). You are expected to read the code and figure all of that out for yourself. The code is actually not all that difficult. Think of it as a test. You might not be ready to work on this sort of project. Sorry Bruce -- ___ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2
Re: [Freetel-codec2] Necessary files.
SM1000_SRCS in codec2-dev/stm32/Makefile On 07/09/16 14:17, e...@vk5kbb.com wrote: > Also while I'm looking at adding and removing parts of the code. > > Does any body have a list of essential files needed for building the > SM1000.bin and nothing else. > > I can see a lot of test code and also now in the -DEV folder there is a > lot of SM2000 code. > > I'd like to have a build folder with just the essential functions and > the dl library in it. > > Cheers > > Eric > > > > > > > -- > > > > ___ > Freetel-codec2 mailing list > Freetel-codec2@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freetel-codec2 > -- ___ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2