This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IWR1843BOOST: IWR1843BOOST

Part Number: IWR1843BOOST

Hi,

writing my own code, based on oob demo (has everything in it i.e. uarts, mailboxes, semapohores etc etc), but there's an awful lot to learn. Looking in the SDK, I see there is a mem_capture example (drivers/test) ...  simply acquiring ADC data is part of what I need to do, so this sounds like a good example to look at to learn about that bit by itself.

However, unless I've missed it, there's no project-setup info (like for oob demo etc in the ITB, which sets up all the CCS project details via import project). So, I've made my own - reasonably successfully in that it builds without errors - and I can run it in debug from CCS. DSS sends messages that look like its happy - MSS reports errors - I think while trying to talk to BSS. I have the ccsDebug pre-built in the IWR FLASH, so there ought to be BSS code present when I debug (SOP4).

I suspect I've got something wrong in my CCS setup, but I'm not sure quite what its telling me, hence this question. I've copied the warning messages from the MSS build.

May be the warning messages will be enough for you to see what is wrong - as so far this is pretty much TI code rather than mine, I could attach the whole CCS project: it's about 80MB, so thought I'd better ask first!


memCaptureWarnings1.docx

many thanks

Alan Milne

  • Hi Alan,

    Could you provide some insight into how you built your CCS project? Obviously there is a TON of configurations that are done by our projectspec files, so I typically recommend that rather than starting a project from scratch, copy the projectspec for the OOB and then just replace the files which are being imported by the ones that you need for your usage.

    Best Regards,
    Alec

  • Hi Alec,

    thanks for the reply - and yes, the problem in a nut shell!

     should probably also point out that for my work, I'm going to have to modify TI code more & deeper that perhaps many others would (labs etc are fine, but don't do what I need), and I'm most definitely learning on the job ... so don't make any assumptions about my level of knowledge of IWR/TI code & tools.

    Indeed, building my own project is very educational.  I did actually start by importing the OOB, removing its files and putting in the memCapture ones - I think this is what you're suggesting I do.  This didn't work (I've been round it all so many times now that I can't remember details of why) so, instead, I started blank, imported the files, then went through the errors and tried to work out what they were telling me ... and how to try to solve them by looking at the settings etc in existing projects (oob for example). Incidentally, this process isn't quite helped by the 18XX oob example actually being set up for 68xx, so I've also got to consider differences between processors as well.

    As said, good for the learning, but I'm sure I've learned plenty of mistakes on the way - which is why I thought of sending you my project, so you can see exactly what I've come up with.

    I have other tasks this morning but, maybe later, I'll have another go at starting from an import of the oob - now I've been round the process once & learned a few things about what the errors are telling me and how to fix them (at least some of which might be correct).

    I hope that moves things along a bit - I'll try an OOB starting point again and report back if that seems any better.

    many thanks

    Alan

  • Hi Alec,

    had a chance to try again: import oob demo : remove its files (*.c) : paste in those from the mem_capture.  Still not quite smooth going, but better than before and I've got all the way to debug on the IWR .. not fully working yet, but much closer.  On the last run, it gave me some "out of memory" messages - indeed its setting up the memory details, between what OOB & mem_capture say is something I'm definitely unsure of.

    So: I must have learned something along the way, to make it easier second time through! Other than I don't think I'm fully there yet, there were two things I had to do to get the build to work, which I'm sure are the wrong way to do it:

    1: I had to add "TestFmk_ProfileCfg gCaptureProfileCfg;" to DSS.  It complained that it couldn't resolve the symbol, despite "open declaration" finding everything OK in the *.h's.

    2: I had to add the frameWork_*.c files to BOTH DSS & MSS.  I assume there's a better way of doing this, oob demo calls up loads of files from the SDK that aren't listed in the project folders themselves.

    These are probably both in the same area: all the things I have to add into the CCS project so it can find everything - quite apart from the *.c's calling up the relevant *.h's.  I have already added the paths to ../test/common & /mem_capture to both compiler & linker search path entries in the build settings, looks like there may be a bit more to it than that?

    OK, I'll wait for you to reply to this lot, then I think you've done what you can here, its down to me to sort out the last details and check that it's actually working (might ask more about memory set up).  Went easier that I expected, given the original warnings, which I didn't understand, but thought it was probably due to all the extra bits that go into making CCS projects.

    many thanks

    Alan

  • Hi Alan,

    In regards to your memory issues, there is one thing I can recommend. Recently we found that the projectspecs had MMWAVE_L3RAM_NUM_BANK=6 like the 6843, when the proper value should be MMWAVE_L3RAM_NUM_BANK=8 for the 1843. This has been resolved for the upcoming release, but if you are starting with the 1843 projectspecs, you may want to correct this. In terms of adding the frameWork source files to both MSS and DSS, for most of our drivers and common source files, they are precompiled into libraries which are pulled in during the linking process. In this case, there is no lib which is already prebuilt, so you would need to either build this lib yourself or just add it to both as you have done. 

    Best Regards,
    Alec

  • Hi Alec,

    thanks - I've updated the memory size in my projects.  As just another bit I'm still learning about, getting the memory allocations & settings right is important - it may compile, it may run, for a bit at least, but whatever protections there may be in the tools or device, it must all depend on the numbers the user puts in in the first place.  I guess that's another good reason to  start out importing an existing project ... although still need to watch out that its for the right processor!

    As for the framework - perhaps I did do the right thing - I was thinking that this is what all the .ae* etc linker includes were about.  I'm learning! So, for neatness & completeness ... how do I go about l pre-compiling the framework (and also, when ready, my own libraries)?  Presumably make a /libs subdirectory, but what's the process of getting to the .ae* files?  I assume there's a method for compiling single files, as opposed to while projects, and do I need to do anything to make them libraries?

    Just a note - there's probably a specific thread for it & you probably already know:  as I'm trying things out (and have multiple CCS's open), I'm renaming the DSS & MSS sub-projects. The re-naming doesn't work properly throughout the whole project, so old file names keep popping up, and making it harder to see what's happening.

    many thanks

    Alan

  • Hi Alan,

    In terms of building a library yourself, I would recommend you look at the mmWave SDK User's Guide, specifically the section called Building drivers/control/alg components. Please note that this isnt a requirement, you could continue to build it in CCS if youd prefer, this is done with our libraries to reduce total build time. In terms of renaming the DSS and MSS projects, easiest place to do this is in the projectspec file, where you can search for all references to the names quickly. 

    Best Regards,
    Alec

  • Hi Alec,

    thanks, I have the SDK page open!

    I updated the L3 info ... but when I looked at memory usage, it (DSS) wasn't using any - I added CAPTURE.c and it appeared.  Time to look again at the doxygens and make sure I've got everything in there that I need.

    Its very nearly working - messages all the way though to completed & close the profiles, although I'm not convinced its actually producing data yet.  However, that's just down to me looking through everything and learning how its meant to be set up and used ... which is of course the whole purpose of the exercise, probably learn much more by having to work at it, rather than success straight away!

    Thanks for your help - I'll close this thread now.

    Alan