Allegro.cc - Online Community

Allegro.cc Forums » Programming Questions » need help with systems programming.

This thread is locked; no one can reply to it. rss feed Print
need help with systems programming.
Doctor Cop
Member #16,833
April 2018
avatar

Here's the images of my previous projects.

I did some projects and now I want to get into hardware level programming.

How can I get started in Systems/Embedded Programming without needing a hardware unit other than my laptop?

bamccaig
Member #7,536
July 2006
avatar

I don't think there's a fast way, and I wouldn't know it if there was one. Kernel development is mostly what comes to mind when I think of systems programming.

Getting involved in the Linux kernel project is one option to move into systems programming. Mind you, it's a huge project so it'll probably take years to really get into it. Anyone can subscribe to the kernel mailing list and lurk: just read through interesting threads, and when patches are posted try to understand them. That won't get you very far, but it's a start. You won't be able to keep up with all of the traffic so you'll have to cherry-pick the threads that interest you and skip a lot.

If any hardware on your laptop isn't currently supported you could attempt to add support to the Linux kernel, but that often involves reverse engineering how the hardware works at all because it's typically proprietary and that's a skill all its own that could take years to develop...

A shorter term option is to find a tiny operating system tutorial and learn from that. Basically kernel development, but on a much smaller scale/project. That can be a lot of fun, but don't think too big because it can literally take a decade to get a fully functional operating system off the ground (particularly for a one-man operation)...

Alternative options are buying smaller hobby chips or Raspberry Pi's and hacking on those.

You should ask yourself why you're interested in systems programming, and what your goals are. It can be a huge time investment so you want to be sure it's what you really want to spend your time on. There are so many other things you could spend your time on, and it depends what will be most useful for you...

Edgar Reynaldo
Major Reynaldo
May 2007
avatar

Doctor Cop
Member #16,833
April 2018
avatar

Thanks Bambam for telling me, I wanted to get started in learning embedded programming because 1st I have graduated and I'm looking for work now and 2nd there are a lot of jobs in embedded programming and web development, I don't like Web Development because one has to become a full stack developer to get a decent salary so I thought that I should try embedded programming. I made a small game using AVR micro controller and 8x16 LED from a friend. I wanted to do some more but I didn't had the money to by hardware units and my friend broke his connector cables which allowed the chip to be programmed.

I wish there was an emulator which could run my code.
sigh!

Edgar your Idea is good but I don't have money to buy Raspberry PI.
Maybe I'll be able to buy it when I start earning.

Peter Hull
Member #1,136
March 2001

You might be able to do it with tinkercad circuits
https://www.tinkercad.com/learn/circuits
AFAICS its free but you need to register.

[edit] just google for arduino simulator or arduino emulator there's loads out there

bamccaig
Member #7,536
July 2006
avatar

Yes, as Peter said there should be emulators available to test circuits and code against. Likely free software/open source ones. Don't give up on that until you've tried hard to find them. Looks like there's this for playing with circuits online: https://www.tinkercad.com/circuits. I'm useless with hardware so I can't say what the limitations of that simulator are...

As for Web development, I get it. I least liked Web development, but the job that I got out of college was in Web development and so that's what I have done for the past 12 years. Honestly, it's not all bad. There are still some fun challenges, and some hair pulling challenges, just as with native or mobile apps. :P Hell, look above: a Web site that simulates programmable circuits! Web sites do everything these days. You're only limited by your imagination and skills.

Web development has a few advantages that outweigh the downsides. The code is entirely on your machine so you can deploy it much faster. And you can access it from anywhere without having to set anything up.

I don't know what it's like in India for Web development jobs, but here in Canada and the US it should be possible to get a well paid job doing just back-end development, but obviously it needs to be for a larger scale project that is used by 10's or 100's of thousands of users.

My employer has hired a couple of offshore developers from India in the past year or two, and honestly they've been pretty unresponsive, and seemingly incompetent. The idea was that they were supposed to be inexpensive, but the reality was that they were being paid quite a lot (I don't know the exact figure). Of course, having been subcontracted out before myself I would bet that the contracting company in India took a big chunk of that, and paid the developer much less.

Nevertheless, there are opportunities in all areas of Web development if you're competent and communicate well (obviously, that means good written and spoken language skills in whatever language your employer speaks[1]). I am a full stack developer, but my design and HTML/CSS skills are still pretty weak after 12 years. My employer doesn't really put enough emphasis on those things though. But if you can become skilled at them then you will be very valuable.

That said, I probably would prefer to hack on embedded devices too, but I think it'll be a lot more difficult to make something with embedded devices that can be profitable (I assume, but I don't know). I know in industry there is a lot of money to be made automating physical processes with electronics. So there's that if that's what you're aiming for, but I think those typically require you to be on-site (so you'd either have to leave India, or find such a position in India, but I'm sure they exist). And the really big jobs require robotics experience. Good luck either way. :)

References

  1. Your written English looks pretty good!
Doctor Cop
Member #16,833
April 2018
avatar

Thanks Peter I found a Raspberry PI emulator.
It maybe able to do most things but I'm doubting it's capabilities so I will buy one when I have enough money.

BamBam : They must be from one of those Black companies, these companies pay way less than an intern should get and they spy on there employees. I have worked as an intern in both black and rainbow companies. In rainbow companies employees even work overtime just for fun and in black companies they lose there motivation to lead there normal and work life. I ran away from my last job because of lying and spying and there attempt to cut my lunch time to a quarter. They even threatened to sue me if I didn't report back, they only left me alone when I said that I will sue them for violating the zoning laws for work places.

If they are working less than they are supposed to be then it must be because your company has contracted with a black company.

I am aiming for ARM technologies but I'm open for good opportunities.
I know Backend Web Development, I did PHP at my internship but there's too much competition in PHP and the pay is less than I need.

Edgar Reynaldo
Major Reynaldo
May 2007
avatar

Doctor Cop
Member #16,833
April 2018
avatar

Just search it online, you may find Black companies but you may not find rainbow companies.
Black companies have been there for more than a decade now and rainbow company is a new term because of the IT sector's new trend.

A Rainbow company is one which gives you incentives when you do exceptionally well and badges or stickers when you complete a task. they throw a party every week and do everything to keep you hooked to the workplace. They provide Gym memberships and good & tasty lunch, a sleep room so that you don't have to worry about going back home.
They are very friendly and they have a "we are a family" type motto. The only problem is that they fire like crazy when people slack or don't live up-to there expectations (they call it graduating), it keeps the employs competitive enough.

Edgar Reynaldo
Major Reynaldo
May 2007
avatar

jmasterx
Member #11,410
October 2009

My company haz all of teh badges
{"name":"612047","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/e\/d\/ed4c2d5fbc48ce72f8314a7606e07515.jpg","w":472,"h":273,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/e\/d\/ed4c2d5fbc48ce72f8314a7606e07515"}612047

Doctor Cop
Member #16,833
April 2018
avatar

You are a pokemon trainer? Must be a cool job!

Go to: