This isn't a pissing contest John. Go out and look into it on the VS front
if you want to. Otherwise don't worry about it.

On Sun, Feb 21, 2016 at 3:55 PM, John Syne <john3...@gmail.com> wrote:

> When you have made VS index the Linux Kernel, then we can talk, but
> speculating that it can be done is senseless. Here is a simple exercise to
> prove my point. In two minutes, can you define the call sequence for say
> the ti_am335x_adc probe function. In other words, how does the tiadc_probe
> function get called? Start with the "module_platform_driver(tiadc_driver)”
> on line 594.
>
> Regards,
> John
>
>
>
>
> On Feb 21, 2016, at 2:41 PM, William Hermans <yyrk...@gmail.com> wrote:
>
> Visual studio code is *not* Visual Studio. Visual Studio code is a text
> editor meant for web development, but *can* be used for other languages.
> Just as any other text editor can be used as such.
>
> Visual Studio on the other hand is a full blown IDE that has had features
> in the past that no other IDE's could rival, or even compare to. If Eclipse
> can index this stuff you're talking about. So can Visual Studio. As Visual
> Studio is light years ahead of Eclipse, no doubt. The problem with Visual
> Studio however, is that once you stray outside of cl.exe( in the context of
> C/C++ ), setup increasingly gets more difficult. But the compiler *can* be
> "changed out", and the debugging system can be made to work with gcc tools
> if you understand how. Honestly though, I personally do not find the effort
> worth it anymore.
>
> grep works just fine if you understand how to use it correctly.
>
> On Sun, Feb 21, 2016 at 1:42 PM, John Syne <john3...@gmail.com> wrote:
>
>> Not true. The Kernel supports so many architectures and most indexers
>> cannot deal with this in an intelligent way. BTW, I use Visual Studio Code
>> which support Typescript and runs on any platform. I have used cscope and
>> several other indexers in the past, but there is no way to teach them about
>> that you are using the ARM architecture. So when you look for the source
>> for a function, you get dozens of references and that just slows things
>> down. Using “git grep”, grep, ack, etc also produce multiple references and
>> that is unacceptable.
>>
>> Regards,
>> John
>>
>>
>>
>>
>> On Feb 20, 2016, at 11:35 PM, William Hermans <yyrk...@gmail.com> wrote:
>>
>> *Studio for many years. If for nothing else, "function explorer". Which
>>> works fine with any source even if that source can not be compiled with VS
>>> ;)*
>>>
>>
>> By the way, sublime text 3 has this built in now too.
>>
>> On Sun, Feb 21, 2016 at 12:31 AM, William Hermans <yyrk...@gmail.com>
>> wrote:
>>
>>> *This help me browse to any Linux Kernel function with a ctrl click.*
>>>>
>>>
>>> This is something Visual Studio has had / done for years, as in since  .
>>> . . well as long as I can remember. According to wikipedia, Visual Studio 6
>>> was released in 1998, and I know it was a feature in VS6 . . . at any rate
>>> it is why I've used Visual Studio for many years. If for nothing else,
>>> "function explorer". Which works fine with any source even if that source
>>> can not be compiled with VS ;)
>>>
>>> Now days. *find*, and *grep* take the place of many tools. As well as
>>> many other command line utilities . . .
>>>
>>> The only "compiler" that I'll put up with and is not gcc. Is actually
>>> not a compiler but is TI's PRU Assembler. I'd also might tolerate clpru in
>>> the future if I ever get around to reading the manual for it. BUt the PRU
>>> is a special case, where I feel that community based open source tools are
>>> not good enough, and probably never will be.
>>>
>>> So, when you use a tool chain based on gcc. As well as all the wonderful
>>> Linux command line utilities. IDE "tools" are no longer necessary, and are
>>> in fact less efficient. GUI's tend to get in the way, in this context.
>>>
>>> On Sun, Feb 21, 2016 at 12:11 AM, John Syne <john3...@gmail.com> wrote:
>>>
>>>> Yep, I like Sublime Text as well. It is clearly my favorite editor, but
>>>> for indexing the Linux Kernel, to include only code for the platform I’m
>>>> using, I use Eclipse. This help me browse to any Linux Kernel function with
>>>> a ctrl click. For Javascript, I use Webstorm and for embedded I use
>>>> CCSV6.1. I use whatever tools get the job done.
>>>>
>>>> Regards,
>>>> John
>>>>
>>>>
>>>>
>>>>
>>>> On Feb 20, 2016, at 11:04 PM, William Hermans <yyrk...@gmail.com>
>>>> wrote:
>>>>
>>>> *That isn’t to say there are no bugs, but they do fix them pretty
>>>>> quickly. I have a pretty fast desktop with lots of memory so Eclipse
>>>>> performs quite well for me. *
>>>>>
>>>>
>>>> i7 4710HQ with 16GB RAM, with 2GB dedicated 860M. So it's a laptop, and
>>>> the only reason why I mention dedicated graphics. It is very, very fast.
>>>>
>>>> But again, that's not the point. heh. The point is, even something that
>>>> is Visual Studio Code ( not the IDE but editor ) that is IDE like, can
>>>> perform very much faster than any IDE. I've also stopped using VS( the IDE
>>>> ) because it is also sluggish any more. and it's native code.
>>>>
>>>> As it is, I actually prefer writing much of my code in sublime text. As
>>>> I like many of the features is has, including dark themes I can live with .
>>>> . . VIM classic mode, snippets, customizable code complete, etc.
>>>>
>>>> On Sat, Feb 20, 2016 at 11:54 PM, John Syne <john3...@gmail.com> wrote:
>>>>
>>>>> On the contrary, I have personal connections with the CCSV6 developers
>>>>> for many years. I have helped them fix several bugs, especially related to
>>>>> debugging Linux kernel code back in CCSV4. After CCSV5, TI went a 
>>>>> different
>>>>> directions and I could no longer use CCS for kernel debugging and went the
>>>>> Lauterbach route. However, for DSP development, there is nothing better
>>>>> period. For all the other embedded processors, TI do a pretty decent job
>>>>> with CCSV6. That isn’t to say there are no bugs, but they do fix them
>>>>> pretty quickly. I have a pretty fast desktop with lots of memory so 
>>>>> Eclipse
>>>>> performs quite well for me.
>>>>>
>>>>> Regards,
>>>>> John
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Feb 20, 2016, at 10:47 PM, William Hermans <yyrk...@gmail.com>
>>>>> wrote:
>>>>>
>>>>> *BTW, I believe CCSV6 doesn’t need a license for code that is less
>>>>>> than 16K. *
>>>>>>
>>>>>
>>>>> I believe that any TI dev board is supported in CCSv6 for free so long
>>>>> as the code is not used for commercial purposes. This also includes 
>>>>> various
>>>>> other dev boards, which I believe includes the beaglebone boards.
>>>>>
>>>>> However, that is not the point. I have a considerable amount of time
>>>>> invested into using gcc based tool chains and prefer to stick with gcc.
>>>>> period. I do not need all that instrumentation fluff to write code, and in
>>>>> fact do not require, or even want an IDE of any sort most of the time. Let
>>>>> alone a buggy, poor performing IDE written in java . . .
>>>>>
>>>>> Also do us both a favor. Don't try and tell me that CCS isn't buggy,
>>>>> and isn't poor performing, You're not the only one whose been exposed to
>>>>> CCS for years . . .
>>>>>
>>>>> On Sat, Feb 20, 2016 at 11:40 PM, John Syne <john3...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Ah, so I just use CCSV6 which has all the scripts that take the
>>>>>> CortexM4s out of reset and configures their memory map so that I can 
>>>>>> write
>>>>>> code and debug pretty quickly. Now if you don’t use CCSV6, you have to do
>>>>>> all that via the CortexA15s and that is going to be very difficult for
>>>>>> development. I’ve been doing this on the OMAP5 for several years, which 
>>>>>> has
>>>>>> many of the same features as AM5728. I also use CCSV6 for the DSPs, which
>>>>>> have the same issues. The TI DSP C compiler is highly optimized for the 
>>>>>> C66
>>>>>> DSP which has many cores that operate in parallel. Also, the
>>>>>> instrumentation provided by CCSV6 makes it possible to do very accurate
>>>>>> measurements while running live code. This is especially important for
>>>>>> multithreaded applications. BTW, I believe CCSV6 doesn’t need a license 
>>>>>> for
>>>>>> code that is less than 16K.
>>>>>>
>>>>>>
>>>>>> Regards,
>>>>>> John
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Feb 20, 2016, at 10:30 PM, William Hermans <yyrk...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>> I think more correctly said. They're similar to a Cortex M4 that sits
>>>>>> on an Lx host processor interconnect. So you can not just use the 
>>>>>> eabi-none
>>>>>> gcc port to make them work . . .
>>>>>>
>>>>>> On Sat, Feb 20, 2016 at 11:22 PM, William Hermans <yyrk...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> *The IPU’s are CortexM4 processors. *
>>>>>>>> *Regards,*
>>>>>>>>
>>>>>>> *John*
>>>>>>>
>>>>>>>
>>>>>>> You're just now figuring that out ?
>>>>>>>
>>>>>>> On Sat, Feb 20, 2016 at 11:20 PM, John Syne <john3...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> The IPU’s are CortexM4 processors.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> John
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Feb 20, 2016, at 9:53 PM, William Hermans <yyrk...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> I do expect that TI will improve the documentation on their
>>>>>>>> implementation of remoteproc / rpmsg sometime in the future  though. 
>>>>>>>> As in
>>>>>>>> the case of the X15, there are not only 4 on die PRU's, but there are 4
>>>>>>>> IPU's( 2 usable for general purpose ), and two DSP's( on the dual core 
>>>>>>>> A15
>>>>>>>> ). I've no idea what TI has compiler / assembler wise for these DSP's 
>>>>>>>> but
>>>>>>>> the IPU's from what I understand are fairly new( in the context of 
>>>>>>>> general
>>>>>>>> purpose ). So I'd assume this is where remoteproc / rpmsg will make the
>>>>>>>> most sense. the on die IPU's
>>>>>>>>
>>>>>>>> On Sat, Feb 20, 2016 at 10:39 PM, William Hermans <
>>>>>>>> yyrk...@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> *William,*
>>>>>>>>>>
>>>>>>>>>> * I must be missing something, because I see remoteproc as a*
>>>>>>>>>> * communication and management mechanism for code on CPUs other
>>>>>>>>>> than the*
>>>>>>>>>> * main processor. The actual code that you are running on those*
>>>>>>>>>> * subsidiary processors does not depend on the mechanism you use
>>>>>>>>>> for*
>>>>>>>>>> * talking to it (other than the parts that do the talking, of
>>>>>>>>>> course).*
>>>>>>>>>>
>>>>>>>>>> * In particular, running ADC, I2C or GPIO should be the same,
>>>>>>>>>> regardless*
>>>>>>>>>> * whether you use remoteproc or not---what changes is how you
>>>>>>>>>> tell this*
>>>>>>>>>> * code what to do.*
>>>>>>>>>>
>>>>>>>>>> * Does it make sense to you?*
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> What it is suppose to do hs always made sense to me. How exactlyit
>>>>>>>>> is done, is another story.
>>>>>>>>>
>>>>>>>>> with uio_prussdrv, you have a driver module, which sets various
>>>>>>>>> things up, loads the PRU binary, and then enables / runs the PRU(s). 
>>>>>>>>> On the
>>>>>>>>> PRU side, the code runs, communicates with various peripherals as 
>>>>>>>>> needed(
>>>>>>>>> usually one, if any ), and then the PRU code performs it's function as
>>>>>>>>> specified in assembly. Sometimes, dumping data into ddr3( as per the
>>>>>>>>> example ), and sometimes not.
>>>>>>>>>
>>>>>>>>> Anyway, the above is a fairly rough description, but how each
>>>>>>>>> aspect communicates with the other is abundantly clear in code. Some 
>>>>>>>>> have
>>>>>>>>> even attempted to describe what happens, but if you ask me 
>>>>>>>>> inadequately. No
>>>>>>>>> matter though the code is pretty clear.
>>>>>>>>>
>>>>>>>>> With remoteproc, the Documentation/*txt documentation is very
>>>>>>>>> minimal, and does not describe the process in which it works very 
>>>>>>>>> well.
>>>>>>>>> However, the code is fairly clear as to how the ARM, and PRU sides
>>>>>>>>> communicate with one another( rpmsg ). However, what is not clear, is 
>>>>>>>>> how
>>>>>>>>> the PRU code actually manipulates the physics on system hardware.
>>>>>>>>> Additionally, to confuse matters even more, the assembler has changed 
>>>>>>>>> to a
>>>>>>>>> compiler( C - clpru ), and there is something like "map" files for 
>>>>>>>>> hardware
>>>>>>>>> configuration that do not seem to be very well documented. Just some
>>>>>>>>> examples, that are not very clear as to how, or why these are even 
>>>>>>>>> needed.
>>>>>>>>>
>>>>>>>>> So here I am, attempting to learn a few things new to me.
>>>>>>>>> Documentation is very poor, TI refuses to answer any questions in 
>>>>>>>>> relation
>>>>>>>>> to PRUs on their e2e forums(" go to beagleboard.org google groups
>>>>>>>>> . . ." ). I spend several days learning about everything PRU related, 
>>>>>>>>> and
>>>>>>>>> immediately pick up the concept of uio_prussdrv. Still having a hard 
>>>>>>>>> time
>>>>>>>>> with the TI C compiler on the PRU side of things, largely due to these
>>>>>>>>> mysterious configuration files. But no matter, the TI Assembler is 
>>>>>>>>> fairly
>>>>>>>>> straight forward, the PRU instruction set is a minimal Cortex M3 set, 
>>>>>>>>> and
>>>>>>>>> easy.
>>>>>>>>>
>>>>>>>>> Anyway, for context of my competence level. Not long ago I wrote a
>>>>>>>>> set of processes / applications to read from the CANBUS in realtime, 
>>>>>>>>> decode
>>>>>>>>> the CANBUS data, and shuffle this decoded data out over a websocket. 
>>>>>>>>> This
>>>>>>>>> required me learning several aspect of Linux systems programming from
>>>>>>>>> scratch. Including POSIX shared memory files, socketCAN, and process
>>>>>>>>> spawning / management. All from scratch, since this was my first major
>>>>>>>>> Linux application. All of this including reverse engineering parts of 
>>>>>>>>> the
>>>>>>>>> high level CANBUS protocol took me around a month. The point here is, 
>>>>>>>>> I
>>>>>>>>> have no problem picking up / understanding technologies, and / or 
>>>>>>>>> API's,
>>>>>>>>> libraries, and such that I've previously have had no experience with. 
>>>>>>>>> *So
>>>>>>>>> long* as there is at least a little decent documentation on the 
>>>>>>>>> subject, or
>>>>>>>>> I can talk to someone who does understand things that may be 
>>>>>>>>> confusing to
>>>>>>>>> me.
>>>>>>>>>
>>>>>>>>> Additionally, I'm not saying exactly that remoteproc can't be made
>>>>>>>>> to work, because obviously it can. What I am saying is that since the
>>>>>>>>> concept is so poorly documented, is still in experimental phase, and 
>>>>>>>>> now I
>>>>>>>>> learn that it is slower than traditional prussdrv drivers / methods. 
>>>>>>>>> That
>>>>>>>>> it's just not worth my time to even attempt to get working.
>>>>>>>>>
>>>>>>>>> That and I *have* spent some time ( roughly a week ), *just
>>>>>>>>> because* I'm the type that does not mind experimenting with new 
>>>>>>>>> technology
>>>>>>>>> in software. But only new technology that is not too argumentative. 
>>>>>>>>> As my
>>>>>>>>> time is far too valuable to me than to screw around with technology 
>>>>>>>>> that
>>>>>>>>> honestly makes very little sense to me.
>>>>>>>>>
>>>>>>>>> Also for what it is worth. remoteproc / rpmsg in my own mind is
>>>>>>>>> far more useful in cases where a processor may have multiple 
>>>>>>>>> application /
>>>>>>>>> general purpose cores. In that one core can be made to run Linux, 
>>>>>>>>> while the
>>>>>>>>> others can be made to run bare metal - Simultaneously. Less useful on 
>>>>>>>>> the
>>>>>>>>> case of the PRUs since we already have a software layer that is well
>>>>>>>>> documented, works very well, and quite honestly far superior to 
>>>>>>>>> remoteproc
>>>>>>>>> / rpmsg in this case. If nothing else. Speed.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Sat, Feb 20, 2016 at 9:45 PM, Przemek Klosowski <
>>>>>>>>> przemek.klosow...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> On Sat, Feb 20, 2016 at 2:45 PM, William Hermans <
>>>>>>>>>> yyrk...@gmail.com> wrote:
>>>>>>>>>> > Is it really so much to ask for example code to demonstrate how
>>>>>>>>>> to interact
>>>>>>>>>> > with the on die hardware ? Without having to download 1GB of
>>>>>>>>>> pretty much
>>>>>>>>>> > useless library . . .
>>>>>>>>>>
>>>>>>>>>> William,
>>>>>>>>>>
>>>>>>>>>> I must be missing something, because I see remoteproc as a
>>>>>>>>>> communication and management mechanism for code on CPUs other
>>>>>>>>>> than the
>>>>>>>>>> main processor. The actual code that you are running on those
>>>>>>>>>> subsidiary processors does not depend on the mechanism you use for
>>>>>>>>>> talking to it (other than the parts that do the talking, of
>>>>>>>>>> course).
>>>>>>>>>>
>>>>>>>>>> In particular, running ADC, I2C or GPIO should be the same,
>>>>>>>>>> regardless
>>>>>>>>>> whether you use remoteproc or not---what changes is how you tell
>>>>>>>>>> this
>>>>>>>>>> code what to do.
>>>>>>>>>>
>>>>>>>>>> Does it make sense to you?
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> For more options, visit http://beagleboard.org/discuss
>>>>>>>>>> ---
>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>> Google Groups "BeagleBoard" group.
>>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>>> send an email to beagleboard+unsubscr...@googlegroups.com.
>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> For more options, visit http://beagleboard.org/discuss
>>>>>>>> ---
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "BeagleBoard" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>> send an email to beagleboard+unsubscr...@googlegroups.com.
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> For more options, visit http://beagleboard.org/discuss
>>>>>>>> ---
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "BeagleBoard" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>> send an email to beagleboard+unsubscr...@googlegroups.com.
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> For more options, visit http://beagleboard.org/discuss
>>>>>> ---
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "BeagleBoard" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to beagleboard+unsubscr...@googlegroups.com.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> For more options, visit http://beagleboard.org/discuss
>>>>>> ---
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "BeagleBoard" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to beagleboard+unsubscr...@googlegroups.com.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> For more options, visit http://beagleboard.org/discuss
>>>>> ---
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "BeagleBoard" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to beagleboard+unsubscr...@googlegroups.com.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> For more options, visit http://beagleboard.org/discuss
>>>>> ---
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "BeagleBoard" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to beagleboard+unsubscr...@googlegroups.com.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>
>>>> --
>>>> For more options, visit http://beagleboard.org/discuss
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "BeagleBoard" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to beagleboard+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>>
>>>>
>>>> --
>>>> For more options, visit http://beagleboard.org/discuss
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "BeagleBoard" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to beagleboard+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>
>> --
>> For more options, visit http://beagleboard.org/discuss
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "BeagleBoard" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to beagleboard+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>>
>> --
>> For more options, visit http://beagleboard.org/discuss
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "BeagleBoard" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to beagleboard+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
> --
> For more options, visit http://beagleboard.org/discuss
> ---
> You received this message because you are subscribed to the Google Groups
> "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to beagleboard+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> For more options, visit http://beagleboard.org/discuss
> ---
> You received this message because you are subscribed to the Google Groups
> "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to beagleboard+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to