element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Embedded and Microcontrollers
  • Technologies
  • More
Embedded and Microcontrollers
Pic Microcontrollers Forum Build project in MPLAB, newbie question
  • Blog
  • Forum
  • Documents
  • Quiz
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Embedded and Microcontrollers to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 10 replies
  • Subscribers 195 subscribers
  • Views 3680 views
  • Users 0 members are here
Related

Build project in MPLAB, newbie question

mattybee
mattybee over 12 years ago

HI,

 

This is my first foray into working with PIC microchips.  I'm trying to work with someone else's code/project notes and have tried to build the code for a

PIC16F88-I/P and getting compilation errors.  I think I've bitten off more than I can chew here image

 

Can anyone help - it may be I am doing something basic that's wrong, or perhaps the code is out of date for later versions, I just don't know.

 

Many thanks,

 

 

----------------------------------------------------------------------

Release build of project `C:\GHWT MIDI\midi.mcp' started.

Language tool versions: MPASMWIN.exe v5.49, mplink.exe v4.47, mplib.exe v4.47

Wed May 01 14:33:58 2013

----------------------------------------------------------------------

Make: The target "C:\GHWT MIDI\GHWT.o" is out of date.

Executing: "C:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe" /q /p16F88 "GHWT.asm" /l"GHWT.lst" /e"GHWT.err" /o"GHWT.o"

Error[113]   C:\GHWT MIDI\GHWT.ASM 43 : Symbol not previously defined (_WRT_ENABLE_OFF)

Message[302] C:\GHWT MIDI\GHWT.ASM 71 : Register in operand not in bank 0.  Ensure that bank bits are correct.

Message[302] C:\GHWT MIDI\GHWT.ASM 72 : Register in operand not in bank 0.  Ensure that bank bits are correct.

Message[302] C:\GHWT MIDI\GHWT.ASM 76 : Register in operand not in bank 0.  Ensure that bank bits are correct.

Message[302] C:\GHWT MIDI\GHWT.ASM 79 : Register in operand not in bank 0.  Ensure that bank bits are correct.

Message[302] C:\GHWT MIDI\GHWT.ASM 82 : Register in operand not in bank 0.  Ensure that bank bits are correct.

Message[302] C:\GHWT MIDI\GHWT.ASM 88 : Register in operand not in bank 0.  Ensure that bank bits are correct.

Message[302] C:\GHWT MIDI\GHWT.ASM 91 : Register in operand not in bank 0.  Ensure that bank bits are correct.

Message[302] C:\GHWT MIDI\GHWT.ASM 99 : Register in operand not in bank 0.  Ensure that bank bits are correct.

Message[302] C:\GHWT MIDI\GHWT.ASM 124 : Register in operand not in bank 0.  Ensure that bank bits are correct.

Message[302] C:\GHWT MIDI\GHWT.ASM 165 : Register in operand not in bank 0.  Ensure that bank bits are correct.

Halting build on first failure as requested.

----------------------------------------------------------------------

Release build of project `C:\GHWT MIDI\midi.mcp' failed.

Language tool versions: MPASMWIN.exe v5.49, mplink.exe v4.47, mplib.exe v4.47

Wed May 01 14:34:01 2013

----------------------------------------------------------------------

BUILD FAILED

 

Site links & code below:

 

http://home.cogeco.ca/~mybrainhurts/GHDrum.htm

 

http://home.cogeco.ca/~mybrainhurts/GHDRUM.txt

  • Sign in to reply
  • Cancel

Top Replies

  • koudelad
    koudelad over 8 years ago +2
    Regarding the PIC configuration: A typical main asm file starts with these directives (copied from example asm file from MPASM folder): ;---------------------------------------------------------------…
  • keyosuke
    keyosuke over 8 years ago in reply to koudelad +2
    David, Thanks for taking the time out to debug the issue or provide information to help the initial poster and myself figure this out. I believe Matt Bayliss is probably doing what I tried to do, which…
  • koudelad
    koudelad over 8 years ago in reply to keyosuke +2
    Hello Joseph, Thank you for an explanation, now I completely understand the situation. After reading the question for the first time, I got the impression that Matt wants to continue with the development…
Parents
  • Former Member
    Former Member over 12 years ago

    The definition of  _WRT_ENABLE_OFF is not found in yout project.

    You will have to check if you have included all the libraries and header files for your project.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • mattybee
    mattybee over 12 years ago in reply to Former Member

    Thanks for your reply, I think I've got it, as you correctly state, there is no definition for WRT_ENABLE_OFF in the header, I found a WRT_OFF which seems to have a similar function and changing the code fixes this.

     

    I still get the other errors and although in the code there are references to 16F88 perhaps it's for an older version.  Unfortunately although the project notes are pretty complete there is no apparent way to contact the author.

     

    Message[302] C:\GHWT MIDI\GHWT.ASM 72 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 73 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 77 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 80 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 83 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 89 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 92 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 100 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 125 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 166 : Register in operand not in bank 0.  Ensure that bank bits are correct.

     

    As a newcomer to PIC this is beyond me to fix I think.  Oh well.

     

    Matt

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • mattybee
    mattybee over 12 years ago in reply to Former Member

    Thanks for your reply, I think I've got it, as you correctly state, there is no definition for WRT_ENABLE_OFF in the header, I found a WRT_OFF which seems to have a similar function and changing the code fixes this.

     

    I still get the other errors and although in the code there are references to 16F88 perhaps it's for an older version.  Unfortunately although the project notes are pretty complete there is no apparent way to contact the author.

     

    Message[302] C:\GHWT MIDI\GHWT.ASM 72 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 73 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 77 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 80 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 83 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 89 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 92 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 100 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 125 : Register in operand not in bank 0.  Ensure that bank bits are correct.

    Message[302] C:\GHWT MIDI\GHWT.ASM 166 : Register in operand not in bank 0.  Ensure that bank bits are correct.

     

    As a newcomer to PIC this is beyond me to fix I think.  Oh well.

     

    Matt

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • Former Member
    Former Member over 12 years ago in reply to mattybee

    Hello Matt,

     

    I remember having teh similar problem earlier.

    I solved it by setting or clearing(I dont remember now) R0 in the status register(STATUS).

    This setting and clearing was done in the code, there was also the possibility to set this bit in IDE.

     

    Check it out.......

     

    Write back if you did not find how to set/clear the bit 0 in Status register.

     

    srkjfone

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • keyosuke
    keyosuke over 8 years ago in reply to mattybee

    Matt,

     

    I'm in the same boat as you, working the same project.   I found this post via Googling my error.  I resolved the first of your errors by changing WRT_ENABLE_OFF as you did, and I was having some issue with spaces being in the path to the ASM file, so I typed quotes around the path in mpasmx.exe and it compiled without any errors.  I'm still unable to test because I haven't played around with wiring the PIC16F88 into the drumset, but when I do I'll let you know how it goes.  If it works, I would be happy to post a series of screenshots.  That author did some amazing work but it doesn't look like there has been a way to reach him in half a decade.  I've been waiting that long to get around to this project.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • koudelad
    koudelad over 8 years ago in reply to mattybee

    Hello,

     

    you are getting this message

    Message[302] C:\GHWT MIDI\GHWT.ASM 72 : Register in operand not in bank 0.  Ensure that bank bits are correct.

     

    because the assembler found variables in the code, that are not present in memory bank 0. This is not an error and doesn't prevent the code from being compiled. It is just a remainder, that if you tried to access a register and were switched to a different bank, you would access another register and get some unexpected behavior.

     

    Have a look at the PIC16F88/87 datasheet, section 2.0 Memory organization, specifically 2.2.1 General purpose register file.

    If you want to be sure that you are accessing the right memory bank, you can use "banksel macro" before every manipulation with any register, as explained in this thread.

     

    For example, before accessing TRISA (from Bank 1), use the following:

     

    banksel TRISA
    MOVLW   0x01
    MOVWF   TRISA 

     

    David

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube