Notifications
Clear all

RPi Pico assembler

27 Posts
5 Users
11 Likes
1,929 Views
darup
(@darup)
Member
Joined: 2 years ago
Posts: 63
Topic starter  

Just downloaded the RPi  Pico SDK on an RPi 3B+ with its OS on an SSD. Initially interested in using assembler. Want to use text files (.S - assembler only) and not (.s assembler and c) not using an IDE. I wish to control relays for various projects. The reason for not using an IDE is to learn more about the THUMB instruction set of the 2040 chip, the workings of the assembler and compiler. Cmake is also rather curious and I believe nmake or is it make needs more understanding on my part. Is anyone involved with the Pico SDK outside of an IDE?

吉姆 | 짐 | ジム | Джим | ဂျင်မ် ਜਿੰਮ | Pīšlis | জিম | រមមមមុយ


   
Quote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 6970
 

I am just starting to 'play' with the Pico, but I am using the IDE and C. My first language was assembler, but OS360 and the last time I wrote any was about 1977. I occasionally read machine code from Motorola chips through the 90's but that's it. 

I will be interested to see your progress, but that's about it for me, at 80 you start to slow down.

Keep us informed of how you are doing.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
darup
(@darup)
Member
Joined: 2 years ago
Posts: 63
Topic starter  

Whoa! Not slowing. Learning new stuff. Which end of 8 decades?

Did rmc315 / 360 / pdp 8 & 11 / Intel 8080 on IMSAI using 33 TTY for input / sc/mp / c / java / mostly assembler / AI / ...

Python with Thonny IDE is what got me into the Pico. Then I took the leap to download the Pico SDK from gitHub.

Join in the fun - blind + blind should prove to be a suitable combination.

 

Do you or leverage raspberrypi.com into your Pico experience?

 

吉姆 | 짐 | ジム | Джим | ဂျင်မ် ਜਿੰਮ | Pīšlis | জিম | រមមមមុយ


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 6970
 

@darup When you click the reply icon at the end of a post the reply is tagged with the userid of the post so you get notified. Also being subscribed gets you notified.

No, I am really just starting to play. I wrapped up (mostly) an ESP32 project that allows me to control my main RV water electric valve. I just added Alexa support so I have remote ability via WiFi.

I am not sure what will be my main focus next, but with good weather coming I have RV jobs to do so might slow down on the electronics a bit.

I haven't touched any of my Pi's in a few months but am thinking of upgrading my ESP32-CAM to OTA updates as it is behind a wall. I might have to sneak a wire out though for a manual reset so I don't have to keep taking the wall down (only 4 screws, takes 1 minute)

 

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
darup
(@darup)
Member
Joined: 2 years ago
Posts: 63
Topic starter  

MyJust downloaded the RPi  Pico SDK. Initially interested in using assembler. Want to use text files (.S - assembler only) and not (.s assembler and c) not using an IDE. I wish to control relays for various projects. The reason for not using an IDE is to learn more about the THUMB instruction set of the 2040 chip, the workings of the assembler and compiler. Cmake is also rather curious and I believe nmake or is it make needs more understanding on my part. Is anyone involved with the Pico SDK outside of an IDE? X-C got whooped by diesel. So the Pico is my main thing until I can get on the road. Have a few cameras that I think might become real friendly with the Pico and do still and video once I get the SDK working for me. Want to incorporate a Pico in my heating and cooling system for auto heat/cool switching. If I get good enough I'll maybe throw in ceiling fan control.

I have the -- stupid gO0glad carp changing my words -- won't let me enter the 'A' microprocessor changes it to "a drink.'

 

Anyhow I am thinking the Pico is better suited to what I think I want to do.

Suppose I should get back to doing what I supposed to be doing ...

Not sure how this happened?

吉姆 | 짐 | ジム | Джим | ဂျင်မ် ਜਿੰਮ | Pīšlis | জিম | រមមមមុយ


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 6970
 

@darup Turn OFF autocorrect, only use spell check, it won't change anything, just underline in red the errors.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
(@davee)
Member
Joined: 3 years ago
Posts: 1683
 

Hi @darup,

  Welcome to the forum!

  I haven't played with the RPi Pico, so this is suggestion might be a non starter .. in which case pleae accept my apologies. And sorry, but obviously I can't help with the RPi specific commands, etc., but they are usually documented, albeit in increasingly lengthy documents.

In the past, when starting with a new microcontroller I have used the C compiler to compile/link a trivial program .. something like reading a switch to control a LED. Then play with the compiler switches to produce assembler code, split the compile and link into separate steps, etc. and hence 'ease' myself into the assembler environment. I presume it is possible to do something similar with the RPi.

When micros were 'new' and just before .. e.g. PDP12 (basically a PDP8 with extras), 6502, Z80, etc. it was feasible to start at boot and write a program to add two numbers say, and then 'watch it' run in a debugger of some type (including a front panel that showed the register contents in some cases!!).

By contrast, microcontrollers tend to require umpteen registers to be set up and so on, before they want to start playing. Hence starting with a simple C program and the other IDE-ish tools means the tools can do this start up grunt .. and with a little skullduggery you can check to see what it is doing ... and replicate/adjust for your own purposes. This way, hopefully you start with something that works to progress from. Heading straight for assembler might land you in a world where it doesn't work and it won't explain how to fix it!

Just a thought!

Best wishes, Dave


   
frogandtoad reacted
ReplyQuote
frogandtoad
(@frogandtoad)
Member
Joined: 5 years ago
Posts: 1458
 
Posted by: @davee

Hi @darup,

  Welcome to the forum!

  I haven't played with the RPi Pico, so this is suggestion might be a non starter .. in which case pleae accept my apologies. And sorry, but obviously I can't help with the RPi specific commands, etc., but they are usually documented, albeit in increasingly lengthy documents.

In the past, when starting with a new microcontroller I have used the C compiler to compile/link a trivial program .. something like reading a switch to control a LED. Then play with the compiler switches to produce assembler code, split the compile and link into separate steps, etc. and hence 'ease' myself into the assembler environment. I presume it is possible to do something similar with the RPi.

When micros were 'new' and just before .. e.g. PDP12 (basically a PDP8 with extras), 6502, Z80, etc. it was feasible to start at boot and write a program to add two numbers say, and then 'watch it' run in a debugger of some type (including a front panel that showed the register contents in some cases!!).

By contrast, microcontrollers tend to require umpteen registers to be set up and so on, before they want to start playing. Hence starting with a simple C program and the other IDE-ish tools means the tools can do this start up grunt .. and with a little skullduggery you can check to see what it is doing ... and replicate/adjust for your own purposes. This way, hopefully you start with something that works to progress from. Heading straight for assembler might land you in a world where it doesn't work and it won't explain how to fix it!

Just a thought!

Best wishes, Dave

Just an FYI for all the "assembler" gurus here 🙂

Did you do know that you can write assembly code directly in your Arduino IDE?

It's not my thing, but I have seen it before, and a google search will bring up many examples of how it can be implemented.

Cheers.


   
DaveE, Ron and robotBuilder reacted
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2042
 

@frogandtoad 

Thanks for the suggestion. I have just found what looks like a good series on using Assembler with the Arduino IDE. Next Sunday I will probably have time to try it out.

Although not a guru, Assembler used to very much my thing starting with the Z80 then the 6502, 68000 and finally the 80x86 family.  My first computer language was actually machine code entered via toggle switches with binary led displays on a home made computer kit.  Happy days.

 

 


   
DaveE, Ron and frogandtoad reacted
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 6970
 

@robotbuilder Like you I too started with switches on front panels before graduating to machine code and assembler. Not saying I want to go back there BUT if you find the series worthwhile please post a link to it just in case some others care to have a look.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
DaveE and frogandtoad reacted
ReplyQuote
darup
(@darup)
Member
Joined: 2 years ago
Posts: 63
Topic starter  

I greatly enjoyed the comments and suggestions. I should probably give them careful thought; then again I have never done anything the sensible easy way. I usually bite off more than I can chew; then I have to do it. Please do not misundstand this response. It is not flippant nor boisterous. It is just me gathering courage to get it done. My relays for my project arrive on/about the 30th. So ...

My back up is 'c' and if not then java. I have Python that is new to me so it will be my last resort.

While I am considering the approach to use. I have decided to assemble the plant irrigation system to minimize the dehydration-death of house plants.  To make it look like I know what I am doing I have a grow-light that will cause glowing/growing/dead vegetation to look impressive.

Back to the Pico and assembler. I will most certainly post what progress I make since someone just might think of a better solution.  Maybe gitHub would be the better choice? We shall see how it all falls into place?

Thanks for the comments!

 

 

吉姆 | 짐 | ジム | Джим | ဂျင်မ် ਜਿੰਮ | Pīšlis | জিম | រមមមមុយ


   
ReplyQuote
darup
(@darup)
Member
Joined: 2 years ago
Posts: 63
Topic starter  

@davee

Thanks. We shall see.

吉姆 | 짐 | ジム | Джим | ဂျင်မ် ਜਿੰਮ | Pīšlis | জিম | រមមមមុយ


   
ReplyQuote
darup
(@darup)
Member
Joined: 2 years ago
Posts: 63
Topic starter  

@zander 

Auto correct? When I find it I will do just that. The adventure of entering anything on a mobile phone is oh so much fun!  Thanks

 

吉姆 | 짐 | ジム | Джим | ဂျင်မ် ਜਿੰਮ | Pīšlis | জিম | រមមមមុយ


   
ReplyQuote
darup
(@darup)
Member
Joined: 2 years ago
Posts: 63
Topic starter  

@frogandtoad 

On the IDE. I am not a fan of this type of tool. It masks a lot of what is done by the compiler, linker and assembler. I like to know what is happening. It has always made debugging easier for me since I have a better idea of who is doing what to whom. Granted an IDE is faster in many cases. For now I will avoid the IDE until I better understand how it is all put together as I visit assembler programming.

吉姆 | 짐 | ジム | Джим | ဂျင်မ် ਜਿੰਮ | Pīšlis | জিম | រមមមមុយ


   
frogandtoad reacted
ReplyQuote
darup
(@darup)
Member
Joined: 2 years ago
Posts: 63
Topic starter  

@davee 

Appreciate the thoughts. IMASI 8080 and an ADM3A, punched-paper-tape, and HEX is where it all began for me.  Slow and easy -- good suggestion. Appreciate.

吉姆 | 짐 | ジム | Джим | ဂျင်မ် ਜਿੰਮ | Pīšlis | জিম | រមមមមុយ


   
DaveE reacted
ReplyQuote
Page 1 / 2