@Rayman said:
@rogloh Sounds great. Glad you didn’t get bored of it yet…
It's tedious but I can just plug away if I'm in the right frame of mind...as long as I'm learning new things I can cope, for now.
The whole using AI thing to help adds another dimension though and it's not something I'm used to. It has this HUGE amount of knowledge about this LLVM project which can be a great resource but it doesn't get everything 100% correct, even though it seems confident and authoritative and mostly plausible. It often clutches at straws a lot when things go awry and can tie itself into circles when debugging until you abuse it, and it's very keen to justify things are going fine and use about any data point I add to try to reconcile what is going on.
I expect being forced to use AI to get things done is really going to dumb most people down long term...maybe that's the plan, create an unholy dependence. Could be a rather fast way to rot an engineer's brain, or never let it fully develop. Fairly glad I'm out of the industry now really and had a chance to build up my own skillset before this stuff arrived.
Do you have some set of test programs you run to see if compiler is working right?
It will need to be extensively tested somehow to ensure nothing random got broken. MicroPython is a sanity check but probably not what is needed. Some automated testing would be better.
@iseries said:
Some of the code would need to be modified as the way assembly code is written is different.
Mike
For assembly you are correct it's not going to be exactly the same as flexspin etc but I've tried to adjust the input parsing a bit in P2LLVM to help. We can now avoid the problem with using $15 to mean COG register 15 in decimal! It would now mean COG register $15 in hex and a single decimal number without the $ prefix would be a COG register in decimal. Immediates also can now take in hex "$" prefixes like #$123AB which was a real annoyance before. Eventually I hope to get an FCache solution working also.
Any inline assembly has its own format with the input/output registers and their associated coupling to C variables needing to be explicitly stated.
Also currently the labels are in a different format with a colon following them (although I want to look into that to see if it could work without the colon) and there are different directives used.
I'm sure there's a chatroom or mailing list where actual people knowledgeable about LLVM hang out that could give you advice. That usually seems to be the case for projects of that nature.
@Wuerfel_21 said:
I'm sure there's a chatroom or mailing list where actual people knowledgeable about LLVM hang out that could give you advice. That usually seems to be the case for projects of that nature.
There could well be. For now this thing is so immediate/interactive, and in general helpful that I'm still persevering with the AI. Although it just generates pages and pages of text you gotta wade through and any questions I ask to clarify just add more of those and can quickly break the overall flow. For example, look at the detail it provides here in this portion of a conversation with it. You are not going to get that with a chatroom/mailing list. Admittedly if it starts making stuff up, it'll create a lot of extra unnecessary misleading detours which is a PITA.
Comments
@rogloh Sounds great. Glad you didn’t get bored of it yet…
Do you have some set of test programs you run to see if compiler is working right?
Guess you have micropython …. That’s a pretty large test…
Maybe upy itself has a test suite that is easy to run…
It's tedious but I can just plug away if I'm in the right frame of mind...as long as I'm learning new things I can cope, for now.
The whole using AI thing to help adds another dimension though and it's not something I'm used to. It has this HUGE amount of knowledge about this LLVM project which can be a great resource but it doesn't get everything 100% correct, even though it seems confident and authoritative and mostly plausible. It often clutches at straws a lot when things go awry and can tie itself into circles when debugging until you abuse it, and it's very keen to justify things are going fine and use about any data point I add to try to reconcile what is going on.
I expect being forced to use AI to get things done is really going to dumb most people down long term...maybe that's the plan, create an unholy dependence. Could be a rather fast way to rot an engineer's brain, or never let it fully develop. Fairly glad I'm out of the industry now really and had a chance to build up my own skillset before this stuff arrived.
It will need to be extensively tested somehow to ensure nothing random got broken. MicroPython is a sanity check but probably not what is needed. Some automated testing would be better.
I have an extensive set of C code that could be moved over to see if things work the same as they do in Flex Prop.
The sensor code could now be compiled into a Library instead of being included in the project, that would be different.
Some of the code would need to be modified as the way assembly code is written is different.
Mike
For assembly you are correct it's not going to be exactly the same as flexspin etc but I've tried to adjust the input parsing a bit in P2LLVM to help. We can now avoid the problem with using $15 to mean COG register 15 in decimal! It would now mean COG register $15 in hex and a single decimal number without the $ prefix would be a COG register in decimal. Immediates also can now take in hex "$" prefixes like #$123AB which was a real annoyance before. Eventually I hope to get an FCache solution working also.
Any inline assembly has its own format with the input/output registers and their associated coupling to C variables needing to be explicitly stated.
Also currently the labels are in a different format with a colon following them (although I want to look into that to see if it could work without the colon) and there are different directives used.
I'm sure there's a chatroom or mailing list where actual people knowledgeable about LLVM hang out that could give you advice. That usually seems to be the case for projects of that nature.
There could well be. For now this thing is so immediate/interactive, and in general helpful that I'm still persevering with the AI. Although it just generates pages and pages of text you gotta wade through and any questions I ask to clarify just add more of those and can quickly break the overall flow. For example, look at the detail it provides here in this portion of a conversation with it. You are not going to get that with a chatroom/mailing list. Admittedly if it starts making stuff up, it'll create a lot of extra unnecessary misleading detours which is a PITA.

The AI probably took the data from those chat rooms...