This will be effectively a copy of my previous post, but targeted at OS X. The gist is, get a toolchain, debug connector, and open-source firmware library set up to use the STM32F4DISCOVERY dev board from ST as quickly as possible on OS X. Unfortunately, it’s not QUITE as easy as on Ubuntu. Fortunately, it’s not a lot worse.
I code in Objective-C, PHP, and hopefully Ruby on Rails soon (workin’ on the last one).
This tutorial follows the same basic outline as this post on cu.rious.org but some things have changed since that was written such that it no longer works unmodified, and the various similar tutorials leave some bits out. My goal here is to get some custom code on the STM32F4DISCOVERY board as quickly as possible, hopefully paving the way in the near future for a full eclipse-based IDE setup.
I’ve had this traffic light sitting in the corner of our apartment for a while now – I’ve been meaning to do a traffic light project for a long time and I finally got one as a gift, so naturally it came out to Cali with me when I moved. But until now it’s just sat nicely in the corner, all lights on when plugged in and all lights off when not. Well, I just got my Bluetooth Low Energy shield from Seeed Studio in the other day, so naturally it was time for that to change.
The Mono framework is a great tool for developing cross-platform applications. Using Mono, a developer can target Windows, Linux and OSX all at once using the same C# language and .NET-compatible framework. But arguably the biggest problem with cross-platform toolkits and frameworks is the GUI – people like seeing windows apps that use the familiar Windows Forms GUI toolkit, and people like seeing Mac apps that use Cocoa. With MonoMac, you don’t necessarily have to choose. As a developer, you can build your Mac gui using Cocoa and your Windows GUI using Windows Forms, and reuse all the rest of your application code for both platforms. But integrating Cocoa with C# and .NET isn’t the most straightforward thing. Here are the basics.
This is going to seem silly to some of you, but I just beat my head over it for 20 unnecessary minutes, so damnit, I’m making a public note. Here’s how to fix errors trying to use ArduinoISP.
ST Micro in the last few weeks was the first to market with the brand new ARM Cortex-M4 32-bit microcontroller core. The really interesting new feature is the ‘F’ in the name – this is the first low-cost, low-ish-power light duty microcontroller to include a built in, single cycle per instruction 32-bit floating point unit. In typical ST fashion, the development board is awesome – it’s got a built in ST-LINK/V2 programmer and in-circuit debugger on the top half. The bottom half contains the M4 and a host of fun peripherals to play with, including a 3-axis MEMS accelerometer, an audio DAC with class D output driver, a bunch of LEDs, and all GPIOs broken out to .1″ headers.
Mac OSX 10.6.4 Snow Leopard
iPhones 3G, 3GS, 4 (I finally have the whole lineup!)
PROBLEM: I still can’t get iPhone 4 working. If you have one, please try it and help me out! UPDATE: Found the cause of the problem to be certain status bar libraries installed alongside other apps. I’m not sure why they cause the problem, but see full notes at the bottom of the post.
The Goal: As usual, we want to be able to click “build and go” in Xcode and get the app we’re working on to load to the phone and start up. Also, we want to be able to debug from within Xcode itself. After all, Xcode is cool, and terminal+makefiles+gcc+gdb is lame.
UPDATE: There’s a new method for iOS4 but they’re pretty similar anyway.
So it’s been a while, but now that I’m on break again and have some time, I’m doing a bit of iPhone development again. That means I’m going to need to debug on-device (or at least load my app to it to have fun in the real world with my handiwork). This time, the procedure’s a little different though.
iPhone OS 3.1.2
Xcode version 3.2.1, 64 bit
Mac OSX 10.6.2 Snow Leopard
Let’s do it.
UPDATE: Corrected a problem with the run script build phase: corrected the directory names for the new version and copied the new phase that doesn’t include “resource_rules.plist.”
UPDATE 2: Somehow I forgot the add an identity step. It’s now #1 below. Sorry guys. Also, while this whole thing should apply to iPhoneOS 4, I’m going to officially text it/repost with 4.01 soon.
If you’re beginning to learn Objective-C like I am, things like this aren’t immediately obvious. I was trying to fool around with creating my own class, and I kept getting this warning
warning: no '-blah blah blah' method found along with an accompanying
warning: 'ClassName' may not respond to '-blah blah blah'
The really annoying part was that, despite these warnings, the code still worked just fine. Turns out, my issue was that I had this method in my class implementation (PolygonShape.m):